黑马程序员技术交流社区
标题:
关于UDP的接收端
[打印本页]
作者:
"O_忆_O
时间:
2013-7-21 00:11
标题:
关于UDP的接收端
本帖最后由 杨兴庭 于 2013-7-22 21:28 编辑
一直不明白,接收端是通过哪句代码获取到客户端发过来的数据包的啊?
还是说只要指定端口,然后只要有数据包进来就会自动获取啊?
作者:
张强1
时间:
2013-7-21 01:15
byte[] buf = new byte[1000];
DatagramSocket ds = new DatagramSocket(12345);
//开始监视12345端口
DatagramPacket ip = new DatagramPacket(buf, buf.length);
//创建接收数据报的实例
while (true)
{
ds.receive(ip);
//阻塞,直到收到数据报后将数据装入IP中
System.out.println(new String(buf));
}
{发送数据的客户端}
InetAddress target = InetAddress.getByName(“www.xxx.com“);
//得到目标机器的地址实例
DatagramSocket ds = new DatagramSocket(9999);
//从9999端口发送数据报
String hello = “Hello, I am come in!”;
//要发送的数据
byte[] buf = hello.getBytes();
//将数据转换成Byte类型
op = new DatagramPacket(buf, buf.length, target, 12345);
//将BUF缓冲区中的数据打包
ds.send(op);
//发送数据
ds.close();
//关闭连接
希望对你有帮助
作者:
"O_忆_O
时间:
2013-7-21 14:24
张强1 发表于 2013-7-21 01:15
byte[] buf = new byte[1000];
DatagramSocket ds = new DatagramSocket(12345);
就是说监视端口,一有数据进来就接收吗
作者:
冒烟的芒果
时间:
2013-7-21 20:17
ds.receive();//从此套接字接收数据报包
ds.send();//从此套接字发送数据报包
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2