当前位置: 首页> 汽车> 车展 > 中国室内设计任务网_微电影制作_建网站软件工具_厦门百度seo排名

中国室内设计任务网_微电影制作_建网站软件工具_厦门百度seo排名

时间:2025/7/10 5:02:41来源:https://blog.csdn.net/weixin_54555405/article/details/142362245 浏览次数: 0次
中国室内设计任务网_微电影制作_建网站软件工具_厦门百度seo排名

UDP通信协议,模拟聊天室

需求说明
实现客户咨询问题,客服人员答复问题
分析
咨询时,客户是发送方,客服人员是接收方
答复时,客服人员是发送方,客户是接收方,实现思路和咨询时相同

当客户端输入 ending 时 会话结束。
运行时,先运行接收端,再运行发送端。
效果图:
在这里插入图片描述
在这里插入图片描述

接收端:

public class ReceiveMessTest {public static void main(String[] args) throws IOException {
// UDP多次接收 多次发送
// 接收端模拟TCP协议的服务器端System.out.println("---服务端---");// 1.创建接收端的DatagramSocket对象,DatagramSocket ds = null;DatagramPacket dp = null;Scanner sc  = new Scanner(System.in);// 1.创建接收端的DatagramSocket对象,ds = new DatagramSocket(10011);//循环实现多次接收while (true){// 2.创建接收数据的数据包// 重新打包数据byte[] bytes = new byte[1024];dp = new DatagramPacket(bytes,bytes.length);// 3.接收数据ds.receive(dp);// 4.解析数据包byte[] data = dp.getData();// 打印数据String msg = new String(data);System.out.println("客户端:"+msg);// -----------------------------------------------------// 发送System.out.print("服务端请输入:");String s = sc.nextLine();// 获得上个数据包发送的地址// InetAddress address = dp.getAddress();SocketAddress address = dp.getSocketAddress();// 打包数据dp = new DatagramPacket(s.getBytes(),s.getBytes().length,address);// 发送数据ds.send(dp);}}
}

发送端:

public class SendMessTest {public static void main(String[] args) throws IOException {// UDP多次发送 多次接收
//发送端模拟TCP协议的客户端System.out.println("----客户端----");// 1.创建发端的对象DatagramSocket ds = null;DatagramPacket dp = null;// 2.打包数据// 2.1数据来自键盘录入Scanner sc = new Scanner(System.in);while (true){// 1.创建发端的对象ds = new DatagramSocket();System.out.print("请输入要发送的数据:");String s = sc.nextLine();// 结束发送的条件if ("ending".equals(s)){break;}// 2.2将发送的内容变成字节数组byte[] bytes = s.getBytes();// 2.3向127.0.0.1的设备发送InetAddress address = InetAddress.getByName("127.0.0.1");// 2.4接收设备的端口号int port = 10011;// 2.5 打包数据dp = new DatagramPacket(bytes,bytes.length,address,port);// 3.发送数据ds.send(dp);// ----------------------------------------// 4.接收数据// 创建一个新的数组,用来接收数据byte[] bytes1 = new byte[1024];// 创建数据包dp = new DatagramPacket(bytes1,bytes1.length);// 接收数据ds.receive(dp);// 解析数据byte[] data = dp.getData();String s1 = new String(data);System.out.println("服务端:"+s1);}// 4.释放资源ds.close();}
}
关键字:中国室内设计任务网_微电影制作_建网站软件工具_厦门百度seo排名

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: