码迷,mamicode.com
首页 > 编程语言 > 详细

DatagramSocket类 会发生线程阻塞的方法

时间:2017-09-15 13:40:45      阅读:1375      评论:0      收藏:0      [点我收藏+]

标签:sock   log   div   color   示例   io流   对象   字节   data   

  遇到这个问题,还告诉别人错了,这里来Mark一下。

  receive()方法会使调用线程阻塞。

  Java使用DatagramSocket代表UDP协议的Socket,DatagramSocket本身只是码头,不维护状态,不能产生IO流,它的唯一作用就是接收和发送数据报,Java使用DatagramPacket来代表数据报,DatagramSocket接收和发送的数据都是通过DatagramPacket对象完成的。

  在接收数据前,通常需要生成一个DatagramPacket对象,给出数据字节数组及其长度。然后调用DatagramSocket的receive()方法等待数据报的到来,该方法会一直阻塞调用该方法的线程,直到收到一个数据报为止。

示例代码:

// 创建一个接收数据的DatagramPacket对象
DatagramPacket data_packet=new DatagramPacket(buf, 1024);  
// 接收数据报 
socket.receive(data_packet); 

 

DatagramSocket类 会发生线程阻塞的方法

标签:sock   log   div   color   示例   io流   对象   字节   data   

原文地址:http://www.cnblogs.com/xueyudlut/p/7525523.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!