udp_socket_client.java

来自「JAVA的高级应用以及网络编程」· Java 代码 · 共 56 行

JAVA
56
字号
import java.lang.Thread;
import java.net.*;
import java.io.*;
public class UDP_socket_client extends Thread
{
  private DatagramSocket s;
  private InetAddress hostAddress;
  private byte[] buf = new byte[1000];
  private DatagramPacket dp = new DatagramPacket(buf, buf.length);
  private int id;
  public UDP_socket_client(int identifier)
  {
    id = identifier;
    try
    {
      s = new DatagramSocket();
      hostAddress = InetAddress.getByName("localhost");
    }
    catch(UnknownHostException e)
    {
      System.err.println("Cannot find host");
      System.exit(1);
    }
    catch(SocketException e)
    {
      System.err.println("Can't open socket");
      e.printStackTrace();
      System.exit(1);
    }
    System.out.println("UDP_socket_client starting");
  }
  public void run()
  {
    try
    {
      for(int i = 0; i < 25; i++)
      {
        String outMessage = "Client #" + id + ", message #" + i;
        s.send(DataGram.toDatagram(outMessage,hostAddress,UDP_socket_server.INPORT));
        s.receive(dp);
        String rcvd = "Client #" + id + ", rcvd from " + dp.getAddress() + ", " + dp.getPort() + ": " + DataGram.toString(dp);
        System.out.println(rcvd);
      }
    }
    catch(IOException e)
    {
      e.printStackTrace();
      System.exit(1);
    }
  }
  public static void main(String[] args)
  {
    for(int i = 0; i < 10; i++) new UDP_socket_client(i).start();
  }
}

⌨️ 快捷键说明

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