黑马程序员技术交流社区
标题:
第23天当中讲到udp传输用键盘录入数据的例子,请看下面的...
[打印本页]
作者:
wenbaoxing
时间:
2013-10-26 00:45
标题:
第23天当中讲到udp传输用键盘录入数据的例子,请看下面的...
本帖最后由 wenbaoxing 于 2013-10-26 14:59 编辑
/*
这个是第23天当中讲到udp传输用键盘录入数据的例子,请看下面的疑问,
劳烦高人解答一下!!!
*/
import java.net.*;
import java.io.*;
class UdpSend2
{
public static void main(String[] args) throws Exception
{
DatagramSocket ds=new DatagramSocket();
BufferedReader bufr=new BufferedReader(new InputStreamReader(System.in));
String line=null;
while ((line=bufr.readLine())!=null)
{
if ("886".equals(line))
break;
byte[] buf=line.getBytes();
DatagramPacket dp=new DatagramPacket(buf,buf.length,InetAddress.getByName("192.168.1.105"),10001);
ds.send(dp);
}
ds.close();
}
}
class UdpRece2
{
public static void main(String[] args)throws Exception
{
DatagramSocket ds=new DatagramSocket(10001);
//这个while循环一直执行,电脑为甚么不死机呢?毕老师在视频中说receive是阻塞式方法,难道是这个原因
while (true)
{
byte[] buf=new byte[1024];
DatagramPacket dp=new DatagramPacket(buf,buf.length);
ds.receive(dp);
String ip=dp.getAddress().getHostAddress();
String data=new String(dp.getData(),0,dp.getLength());
System.out.println(ip+"˵:"+data);
}
}
}
复制代码
作者:
Jim-剣◆﹏
时间:
2013-10-26 07:32
毕老师在视频中说receive是阻塞式方法,是这个原因
语法没错,死循环不会导致死机
作者:
麦子
时间:
2013-10-26 09:39
你这个循环占用不了太大资源,也就1M多的空间,而内存分配最终还要取决于操作系统的内存管理机制,操作系统的内存分配机制还是占主导地位,一般java程序导致死机,多半是cpu占用率过高,导致程的死机
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2