网络编程:10(UDP聊天实现)
-
UDP聊天
-
发送方;
-
-
-
发送方:
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetSocketAddress;
/**
* 发送方:
*
*
*/
public class UdpSenderDemo01 {
public static void main(String[] args) throws Exception{
DatagramSocket socket = new DatagramSocket(8888);
//准备数据:控制台读取
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
while(true){
String data=reader.readLine();
byte[] datas=data.getBytes();
DatagramPacket packet=new DatagramPacket(datas,0,datas.length,
new InetSocketAddress("localhost",6666));
socket.send(packet);
if(data.equals("bye")){
break;
}
}
socket.close();
}
}
-
接收方:
import java.net.DatagramPacket;
import java.net.DatagramSocket;
/**
* 接收方:
*
*/
public class UdpReceivedDemo01 {
public static void main(String[] args) throws Exception {
DatagramSocket socket = new DatagramSocket(6666);
while (true) {
//准备接收包裹:
byte[] container = new byte[1024];
DatagramPacket packet=new DatagramPacket(container,0,container.length);
socket.receive(packet);//阻塞式接收包裹
//断开连接
byte[] data = packet.getData();
String receivedData=new String(data,0,data.length);
System.out.println(receivedData);
if(receivedData.equals("bye")){
break;
}
}
socket.close();
}
}
分类:
02-网络编程
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律