接收端:
import java.net.DatagramPacket;
import java.net.DatagramSocket;
public class receiversocket {
public static void main(String[] args) throws Exception {
DatagramSocket ds = new DatagramSocket(10000);
while (true) { //循环监听发送端发来的数据
byte[] buf = new byte[1024];
DatagramPacket dp = new DatagramPacket(buf, buf.length);
ds.receive(dp);
String s = new String(dp.getData(), 0, dp.getLength());//将字符数组转变为字符串显示出来,字符串的长度就是数据的长度而不是字符数组的长度
System.out.println(s + dp.getSocketAddress());
}
// ds.close();循环监听,不需要关闭
}
}
发送端:
public class sendsocket {
public static void main(String args[]) throws Exception {
DatagramSocket ds = new DatagramSocket(9090);//如果不指定端口号,则每次启动的tag都不一样。
BufferedReader buff = new BufferedReader(new InputStreamReader(
System.in));//键盘录入
Str