Java UDP網絡編程 - 最簡單示例



  1. /**
  2. *UDPServer
  3. *@author Winty [email protected]
  4. *@version 2008-12-15
  5. */
  6. import java.io.*;
  7. import java.net.*;
  8. class UDPServer{
  9.     public static void main(String[] args)throws IOException{
  10. DatagramSocket server = new DatagramSocket(5050);
  11.         byte[] recvBuf = new byte[100];
  12. DatagramPacket recvPacket
  13.             = new DatagramPacket(recvBuf , recvBuf.length);
  14.         server.receive(recvPacket);
  15.         String recvStr = new String(recvPacket.getData() , 0 , recvPacket.getLength());
  16.         System.out.println("Hello World!" + recvStr);
  17.         int port = recvPacket.getPort();
  18.         InetAddress addr = recvPacket.getAddress();
  19.         String sendStr = "Hello ! I'm Server";
  20.         byte[] sendBuf;
  21.         sendBuf = sendStr.getBytes();
  22.         DatagramPacket sendPacket
  23.             = new DatagramPacket(sendBuf , sendBuf.length , addr , port );
  24.         server.send(sendPacket);
  25.         server.close();
  26.     }
  27. }

  1. /**
  2. *UDPClient
  3. *@author Winty [email protected]
  4. *@version 2008-12-15
  5. */
  6. import java.io.*;
  7. import java.net.*;
  8. class UDPClient{
  9.     public static void main(String[] args)throws IOException{
  10.         DatagramSocket client = new DatagramSocket();
  11.        
  12.         String sendStr = "Hello! I'm Client";
  13.         byte[] sendBuf;
  14.         sendBuf = sendStr.getBytes();
  15.         InetAddress addr = InetAddress.getByName("127.0.0.1");
  16.         int port = 5050;
  17.         DatagramPacket sendPacket
  18.             = new DatagramPacket(sendBuf ,sendBuf.length , addr , port);
  19.         client.send(sendPacket);
  20.         byte[] recvBuf = new byte[100];
  21.         DatagramPacket recvPacket
  22.             = new DatagramPacket(recvBuf , recvBuf.length);
  23.         client.receive(recvPacket);
  24.         String recvStr = new String(recvPacket.getData() , 0 ,recvPacket.getLength());
  25.         System.out.println("收到:" + recvStr);
  26.         client.close();
  27.     }
  28. }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章