黑马程序员技术交流社区
标题:
UDP键盘录入数据传输的问题
[打印本页]
作者:
梦想蓝色天空
时间:
2013-6-17 23:46
标题:
UDP键盘录入数据传输的问题
<P>UDP发送端</P>
<P> public static void sendUDPInfo() throws Exception {</P>
<P> DatagramSocket ds = new DatagramSocket(10005);</P>
<P> BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String len = null;
while ((len = br.readLine()) != null) {</P>
<P> DatagramPacket dp = new DatagramPacket(len.getBytes(), len.getBytes().length, InetAddress.getByName("192.168.1.117"), 10007);
ds.send(dp);</P>
<P> }</P>
<P> ds.close();</P>
<P> }</P>
<P> </P>
<P> </P>
<P> </P>
<P>UDP接收端</P>
<P>public static void receUDPInfo() throws Exception {
DatagramSocket ds = new DatagramSocket(10007);</P>
<P> while (true) {</P>
<P> byte[] buf = new byte[1024];
DatagramPacket dp = new DatagramPacket(buf, buf.length);
ds.receive(dp);</P>
<P> System.out.println("ip=" + dp.getAddress().getHostAddress()+ " Data=" + new String(dp.getData(), 0, dp.getLength()));
}
}</P>
<P> </P>
复制代码
问题:我目前在做一个udp键盘录入并发送到UDP接收端,将信息打印出来的一个Demo。在使用键盘输入一次的话。UDP接收端可以正常接收到并打印发送过来的数据。。但在第二次输入的时候,接收端无法接收到数据
小弟猜想,有可能是第二次键盘录入后 UDP发送端根本没有发送,所以导致接收端接收不到数据。但检查了几遍代码,感觉没有什么问题。寻求大家帮助,万分感谢!
作者:
韩明海
时间:
2013-6-18 09:05
你可以在发送语句和接收语句前后加些打印,
作者:
j816326
时间:
2013-6-18 10:04
<P>UDP发送端</P>
<P> public static void sendUDPInfo() throws Exception {</P>
<P> DatagramSocket ds = new DatagramSocket(10005);</P> //这里的端口不能给出。 这里只创建UDP发送端Socket服务就可以。在发送的时候再指定端口。
<P> BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String len = null;
while ((len = br.readLine()) != null) {</P>//这里还有问题哦 键盘录入的话,一定要指定程序的出口。 加上一个if判断就好!
<P> DatagramPacket dp = new DatagramPacket(len.getBytes(), len.getBytes().length, InetAddress.getByName("192.168.1.117"), 10007);
ds.send(dp);</P>
<P> }</P>
<P> ds.close();</P>
<P> }</P>
<P> </P>
<P> </P>
<P> </P>
<P>UDP接收端</P>
<P>public static void receUDPInfo() throws Exception {
DatagramSocket ds = new DatagramSocket(10007);</P>
<P> while (true) {</P>
<P> byte[] buf = new byte[1024];
DatagramPacket dp = new DatagramPacket(buf, buf.length);
ds.receive(dp);</P>
<P> System.out.println("ip=" + dp.getAddress().getHostAddress()+ " Data=" + new String(dp.getData(), 0, dp.getLength()));
}
}</P>
<P> </P>
复制代码
作者:
梦想蓝色天空
时间:
2013-6-18 15:15
看完各位发言后,自己又搞了一下,可能环境的问题,我是在myEclipse中运行的,可能环境的问题吧,,,总之还是谢谢大家
作者:
孙百鑫
时间:
2013-6-22 02:05
楼主您好~帖子长时间未作出回答,我已经将您的帖子改成已解决。如果有问题的话可以私密我哦~
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2