发送端
package com.demo;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
public class TestSend {
public static void main(String[] args) {
//DatagramSocket 用于udp协议时,需要进行资源的关闭
try(DatagramSocket ds=new DatagramSocket();){
//字节数组 大小默认 小于64k
// byte[] b=new byte[1024];
byte[] b="你好 接收端".getBytes();
//数据报包
//端口号 默认 0-65535个 自定义 端口 一般都是从9000开始 发送端
DatagramPacket dp=new DatagramPacket(b, b.length, InetAddress.getByName("127.0.0.1"), 9000);
//发送
ds.send(dp);
//用于接收的数组
byte[] b1=new byte[1024];
//接收来自 原有接收端数据的空白数据报包
DatagramPacket dp1=new DatagramPacket(b1,b1.length);
//接收 空的数据报包
ds.receive(dp1);
System.out.println("接收到来自接收端的内容为:"+new String(b1,0,dp1.getLength()));
}catch(Exception e){
e.printStackTrace();
}
}
}
================================
接收端
package com.demo;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
public class TestRecevice {
public static void main(String[] args) {
//定义接收端的端点,需要时刻监控该端口是否有数据传入
try(DatagramSocket ds=new DatagramSocket(9000)){
//接收
//通过一个空的数据报包进行接收
byte[] b=new byte[1024];
DatagramPacket dp=new DatagramPacket(b, b.length);
//接收
ds.receive(dp);
//getLength数据报包中字节数组接收到的字节数
System.out.println(new String(b,0,dp.getLength()));
//接收端发送消息给原来的发送端
//getAddress 获取原有发送端的ip地址
//getPort获取发送端的端口号
byte[] msg="你好,发送端".getBytes();
DatagramPacket p=new DatagramPacket(msg, msg.length, dp.getAddress(), dp.getPort());
ds.send(p);
}catch(Exception e) {
}
}
}
package com.demo;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
public class TestSend {
public static void main(String[] args) {
//DatagramSocket 用于udp协议时,需要进行资源的关闭
try(DatagramSocket ds=new DatagramSocket();){
//字节数组 大小默认 小于64k
// byte[] b=new byte[1024];
byte[] b="你好 接收端".getBytes();
//数据报包
//端口号 默认 0-65535个 自定义 端口 一般都是从9000开始 发送端
DatagramPacket dp=new DatagramPacket(b, b.length, InetAddress.getByName("127.0.0.1"), 9000);
//发送
ds.send(dp);
//用于接收的数组
byte[] b1=new byte[1024];
//接收来自 原有接收端数据的空白数据报包
DatagramPacket dp1=new DatagramPacket(b1,b1.length);
//接收 空的数据报包
ds.receive(dp1);
System.out.println("接收到来自接收端的内容为:"+new String(b1,0,dp1.getLength()));
}catch(Exception e){
e.printStackTrace();
}
}
}
================================
接收端
package com.demo;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
public class TestRecevice {
public static void main(String[] args) {
//定义接收端的端点,需要时刻监控该端口是否有数据传入
try(DatagramSocket ds=new DatagramSocket(9000)){
//接收
//通过一个空的数据报包进行接收
byte[] b=new byte[1024];
DatagramPacket dp=new DatagramPacket(b, b.length);
//接收
ds.receive(dp);
//getLength数据报包中字节数组接收到的字节数
System.out.println(new String(b,0,dp.getLength()));
//接收端发送消息给原来的发送端
//getAddress 获取原有发送端的ip地址
//getPort获取发送端的端口号
byte[] msg="你好,发送端".getBytes();
DatagramPacket p=new DatagramPacket(msg, msg.length, dp.getAddress(), dp.getPort());
ds.send(p);
}catch(Exception e) {
}
}
}