感兴趣的小伙伴可以先看看我的这篇文章哦,打开看看,说不定能帮到你一些~~
1.写一服务器,接收客户端的发出的数据,并显示出来
2. 写一个客户端的程序,向服务器发出数据
客户端发出的数据从键盘中输入,可以输入很多内容
当输入 exit 时,退出信息发送
实现代码:
// 服务器端
package com.zhangyufan.net;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
public class UdpServer {
public static void main(String[] args) throws Exception {
DatagramSocket ds = new DatagramSocket(10000);
System.out.println("服务器启动,等待接受数据");
while (true) {
byte[] b = new byte[1024];
DatagramPacket dp = new DatagramPacket(b, b.length);
ds.receive(dp);
System.out.println("接收到的数据为:" + new String(dp.getData(), 0, dp.getLength()));
}
}
}
//客户端
package com.zhangyufan.net;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
public class UdpClient {
public static void main(String[] args) throws Exception {
System.out.println("请输入任意内容(输入exit则退出信息发送,否则继续输入):");
DatagramSocket ds = new DatagramSocket();
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String str;
while ((str = br.readLine()) != null) {
if ("exit".equals(str)) {
System.out.println("退出信息发送!");
break;
}
byte[] b = str.getBytes();
DatagramPacket dp = new DatagramPacket(b, b.length, InetAddress.getByName("localhost"), 10000);
System.out.println("发送数据");
ds.send(dp);
System.out.println("请继续输入:");
}
ds.close();
}
}
运行结果:
// 客户端
// 服务器端