📄 multicastsendingthread.java
字号:
// MulticastSendingThread.java
// MulticastSendingThread is a Thread that broadcasts a chat
// message using a multicast datagram.
package com.deitel.messenger.sockets.server;
import java.io.*;
import java.net.*;
import com.deitel.messenger.sockets.*;
public class MulticastSendingThread extends Thread {
// message data
private byte[] messageBytes;
// MulticastSendingThread constructor
public MulticastSendingThread( byte[] bytes )
{
// invoke superclass constructor to name Thread
super( "MulticastSendingThread" );
messageBytes = bytes;
}
// deliver message to MULTICAST_ADDRESS over DatagramSocket
public void run()
{
// deliver message
try {
// create DatagramSocket for sending message
DatagramSocket socket = new DatagramSocket(
SocketMessengerConstants.MULTICAST_SENDING_PORT );
// use InetAddress reserved for multicast group
InetAddress group = InetAddress.getByName(
SocketMessengerConstants.MULTICAST_ADDRESS );
// create DatagramPacket containing message
DatagramPacket packet = new DatagramPacket( messageBytes,
messageBytes.length, group,
SocketMessengerConstants.MULTICAST_LISTENING_PORT );
// send packet to multicast group and close socket
socket.send( packet );
socket.close();
}
// handle exception delivering message
catch ( IOException ioException ) {
ioException.printStackTrace();
}
} // end method run
} // end class MulticastSendingThread
/**************************************************************************
* (C) Copyright 1992-2003 by Deitel & Associates, Inc. and *
* Prentice Hall. All Rights Reserved. *
* *
* DISCLAIMER: The authors and publisher of this book have used their *
* best efforts in preparing the book. These efforts include the *
* development, research, and testing of the theories and programs *
* to determine their effectiveness. The authors and publisher make *
* no warranty of any kind, expressed or implied, with regard to these *
* programs or to the documentation contained in these books. The authors *
* and publisher shall not be liable in any event for incidental or *
* consequential damages in connection with, or arising out of, the *
* furnishing, performance, or use of these programs. *
*************************************************************************/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -