概述
1首先是Server端代码
package udp;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
public class UdpServer {
public static void main(String[] args)throws Exception {
//1创建服务端DataGrameSocket
DatagramSocket datagramSocket=new DatagramSocket(8888);
//2创建数据包,用于接受 客户端的发送的数据
byte[]data=new byte[1024];
DatagramPacket datagramPacket=new DatagramPacket(data,data.length);
//3.接受客户端发送的数据
//此方法在接收到客户端的数据包之前会阻塞
datagramSocket.receive(datagramPacket);
//4读取数据
String dataString=new String(data,0,datagramPacket.getLength());
System.out.println("服务器接收到客户端的内容:"+dataString);
//服务端相应客户端
//1.定义客户端的地址
InetAddress client=datagramPacket.getAddress();
int clientPort=datagramPacket.getPort();
byte[] dataToClient="这是服务端发给客户端的信息".getBytes();
//2创建数据包
DatagramPacket datagramPacket1=new DatagramPacket(dataToClient,dataToClient.length,client,clientPort);
//3发送
datagramSocket.send(datagramPacket1);
//4.关闭资源信息
datagramSocket.close();
}
}
然后是Client端的代码
package udp;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
public class UdpClient {
public static void main(String[] args) throws Exception {
//1.定义服务器的地址,端口号,数据
InetAddress inetAddress = InetAddress.getLocalHost();
//2.创建数据包, 包含发送的数据信息
byte[] data = "这是从客户端发送的信息".getBytes();
DatagramPacket datagramPacket = new DatagramPacket(data, data.length, inetAddress, 8888);
//3创建DatagrameSocket对象发送
DatagramSocket datagramSocket=new DatagramSocket();
//4 向服务器发送数据
datagramSocket.send(datagramPacket);
//客户端响应服务端发来的请求
//1创建数据包,用于接受响应信息
byte[]dataFromServer=new byte[1024];
DatagramPacket dataFromServerPacket=new DatagramPacket(dataFromServer, dataFromServer.length, inetAddress, 8888);
//2接受服务器的相应的数据
datagramSocket.receive(dataFromServerPacket);
//3读取数据
String dataString=new String(dataFromServer,0,dataFromServerPacket.getLength());
System.out.println("客户端接收到服务端数据:"+dataString);
}
}
3.首先启动服务端
4.启动客户端
看下服务端的输出
ok,至此,通信成功
最后
以上就是自觉红牛为你收集整理的简单的一对一Udp通信的全部内容,希望文章能够帮你解决简单的一对一Udp通信所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复