UDP测试程序,无需建立连接
[img]http://dl.iteye.com/upload/attachment/330667/82fbe990-7a0f-35f2-9af6-8bf904f04a0d.jpg[/img]
[img]http://dl.iteye.com/upload/attachment/330669/363533a9-8b4c-32f2-9dc2-ffd26a761ecd.jpg[/img]
package udp;
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
//可以使用双份该程序测试udp套接字
public class UDP0 {
public static void main(String[] args) throws IOException {
byte[] arr = new byte[128];
DatagramPacket p = new DatagramPacket(arr,128);
if(args[0].charAt(0) == 'r'){//read
DatagramSocket sock = new DatagramSocket(1111);
sock.receive(p);
String word = new String(p.getData()); //udp套接字不使用流,只简单发送接收字节数组
System.out.println("From: "+p.getAddress()+" :Port"+p.getPort());//取出数据包中的地址和端口,执行结果端口号不一致
System.out.println(word);
sock.close();
}
else{//write
DatagramSocket sock = new DatagramSocket();
p.setAddress(InetAddress.getByName(args[1])); //地址端口封装在数据包中
p.setPort(1111);
sock.send(p);
sock.close();
}
}
}
[img]http://dl.iteye.com/upload/attachment/330667/82fbe990-7a0f-35f2-9af6-8bf904f04a0d.jpg[/img]
[img]http://dl.iteye.com/upload/attachment/330669/363533a9-8b4c-32f2-9dc2-ffd26a761ecd.jpg[/img]