JAVA中如何完成UDP包的封装
答案:1 悬赏:40 手机版
解决时间 2021-03-27 06:56
- 提问者网友:温旧梦泪无声
- 2021-03-27 00:06
JAVA中如何完成UDP包的封装
最佳答案
- 五星知识达人网友:归鹤鸣
- 2021-03-27 00:36
给你一段代码,或许可以帮到你……
public class SendSideTest {
public static void main(String[] args) throws IOException {
//1 DatagramSocket是用来接收发送数据的
DatagramSocket ds = new DatagramSocket();
//2 发送什么
byte[] s="helloabcdef".getBytes();
//3 发送到哪,发送到本机
InetAddress clientAddress=InetAddress.getLocalHost();
//4 搭建一个outDataPacket相当于一个邮包
//把发送的内容,发送的地址,发送的端口,写在邮包上
DatagramPacket op = null;
op=new DatagramPacket(s, s.length,clientAddress, 9999);
//5 通过一个DatagramPacket将数据发送到客户端,
//客户端的地址由DatagramPacket指定,即写在邮包上
ds.send(op);
System.out.println("数据已经成功发送");
}
}
public class ReceiveSideTest {
public static void main(String[] args) throws IOException {
//1 DatagramSocket相当于建立一个服务器 在9999监听
DatagramSocket ds = new DatagramSocket(9999);
//2 DatagramPacket是用来接收发送的数据的 要有容器接收
byte[] msg = new byte[100];
DatagramPacket ip = new DatagramPacket(msg, msg.length);
//3调用receive方法接收数据到DatagramPacket 中
//数据又由DatagramPacket放入msg
ds.receive(ip);
String msgs = new String(msg);
System.out.println(msgs);
//4通过DatagramPacket得到地址和端口 把发送者打印出来
InetAddress clientAddress = ip.getAddress();
int clientPort = ip.getPort();
System.out.println("发送者:"+clientAddress);
System.out.println("发送端口:"+clientPort);
}
}
public class SendSideTest {
public static void main(String[] args) throws IOException {
//1 DatagramSocket是用来接收发送数据的
DatagramSocket ds = new DatagramSocket();
//2 发送什么
byte[] s="helloabcdef".getBytes();
//3 发送到哪,发送到本机
InetAddress clientAddress=InetAddress.getLocalHost();
//4 搭建一个outDataPacket相当于一个邮包
//把发送的内容,发送的地址,发送的端口,写在邮包上
DatagramPacket op = null;
op=new DatagramPacket(s, s.length,clientAddress, 9999);
//5 通过一个DatagramPacket将数据发送到客户端,
//客户端的地址由DatagramPacket指定,即写在邮包上
ds.send(op);
System.out.println("数据已经成功发送");
}
}
public class ReceiveSideTest {
public static void main(String[] args) throws IOException {
//1 DatagramSocket相当于建立一个服务器 在9999监听
DatagramSocket ds = new DatagramSocket(9999);
//2 DatagramPacket是用来接收发送的数据的 要有容器接收
byte[] msg = new byte[100];
DatagramPacket ip = new DatagramPacket(msg, msg.length);
//3调用receive方法接收数据到DatagramPacket 中
//数据又由DatagramPacket放入msg
ds.receive(ip);
String msgs = new String(msg);
System.out.println(msgs);
//4通过DatagramPacket得到地址和端口 把发送者打印出来
InetAddress clientAddress = ip.getAddress();
int clientPort = ip.getPort();
System.out.println("发送者:"+clientAddress);
System.out.println("发送端口:"+clientPort);
}
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯