broadcasterserver.java

来自「java 完全探索的随书源码」· Java 代码 · 共 90 行

JAVA
90
字号
import java.io.*;import java.net.*;import java.util.*;import java.text.*;public class BroadcasterServer{  // Set a default listener port  private int senderPort = 59;  // set a 10 second UDP timeout  private static final int TIMEOUT = 10000;  private DatagramSocket senderSocket = null;  private static int MAX_PACKET_SIZE = 255;  // Default Constructor  public BroadcasterServer()  {    super();  }  // Alternate Constructor to Override Port  public BroadcasterServer( int newPort )  {    // overide port setting    senderPort = newPort;  }  public void sendBroadcast( String msg )  {    // Determine the actual size of the message    int msgSize = msg.length();    // Create a byte to hold the message    byte[] buffer = new byte[ msgSize ];    buffer = msg.getBytes();    try    {      // For this example, just send it to the local host      InetAddress addr = InetAddress.getLocalHost();      // Create the packet of information      DatagramPacket infoPacket =        new DatagramPacket( buffer, msgSize, addr, this.senderPort );      senderSocket = new DatagramSocket();      // Send the packet and clean up the resources      senderSocket.send( infoPacket );      senderSocket.close();    }    catch( Exception ex )    {      System.out.println( "Problem creating socket on port: " + senderPort );      System.exit( -1 );    }  }  public static void main( String[] args )  {    BroadcasterServer server = null;    int argLength = args.length;    // Make sure the correct number of args were passed in    if ( argLength != 2 )    {      System.out.println( "Usage: java BroadcasterClient <port> <message>" );      System.exit( 0 );    }    int port = 0;    String arg = args[0];    String msg = args[1];    try    {      // Try to parse the port string into an int      port = Integer.parseInt( arg );    }    catch( Exception ex )    {      System.out.println( "Invalid port specified on the command line:arg" );      System.exit( -1 );    }    server = new BroadcasterServer( port );    // Broadcast the data out    server.sendBroadcast( msg );  }}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?