黑马程序员技术交流社区
标题:
UDP通信为什么不成功呢?
[打印本页]
作者:
z6528328
时间:
2015-9-21 00:01
标题:
UDP通信为什么不成功呢?
这是发送端
public static void main(String[] args)throws Exception{
//1、创建UDP socket服务
DatagramSocket ds = new DatagramSocket();
//2、确定数据,(即打包)并封装 byte[] int length InetAddress int port
byte[] data = "udp,fuck U".getBytes();
DatagramPacket dp = new DatagramPacket(data, data.length,InetAddress.getByName("192.168.1.254"),10000);
//3、通过socket服务,将已有的数据包发送出去。通过send方法
ds.send(dp);
//4、关闭资源
// ds.close();
sop("over");
}
复制代码
这是接收端
public static void main(String[] args)throws Exception{
//1、创建UDP,socket 建立端点
DatagramSocket ds =new DatagramSocket(10000) ;
//2、定义数据包,用于存储数据
byte[] buf = new byte[1024];//这个相当于数据包的钳子,夹取数据
DatagramPacket dp =new DatagramPacket(buf, buf.length);
//3、通过服务 receive方法 将收到的数据存入数据包中
ds.receive(dp);
//4、通过数据包的方法获取其中的数据(即拆包)
//数据包中 有IP地址,有数据,有端口,有很多信息,现在要将他拆分
String ip = dp.getAddress().getHostAddress() ;
InetAddress ip2 = dp.getAddress() ;
String data = new String(dp.getData(),0,dp.getLength()) ;
int port = dp.getPort();
sop(ip+" :: "+data+" :: "+port);
ds.close();
}
复制代码
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2