ava-如何使用UDP实时接收接收数据?

问题描述

如何使用UDP实时接收接收数据?
DatagramSocket ds = new DatagramSocket(10000);

byte[] buf = new byte[1024];

DatagramPacket dp = new DatagramPacket(buf0buf.length);

ds.receive(dp);

String data = new String(dp.getData() 0 dp.getLength());

ds.close();


上面的代码可以接收UDP发送来的数据。
但我想知道,下面几个问题:
1.怎么实时接收别人发送过来的数据呢?
例:我不知道别人什么时候发数据给我,我该怎么做到实时接收别人发给我的数据?
2.如果没有及时接受别人的发过来的数据,会出现什么状况?
例:别人发送了数据给我,我却没有实时接收,那么这算是发送失败?还是发送过来了,缓存在什么地方?

请高人指点。。。。

解决方案

Socket 编程,接收最好使用线程来实现

解决方案二:
http://blog.csdn.net/wintys/article/details/3525643/

解决方案三:
while中,在一个线程中一直等待数据
如果没有接受,就丢包了

时间: 2024-12-10 23:26:44

ava-如何使用UDP实时接收接收数据?的相关文章

缓存-将串口接收的数据实时刷新在Edit控件上,问题在于如何将BYTE数组转成CString

问题描述 将串口接收的数据实时刷新在Edit控件上,问题在于如何将BYTE数组转成CString 想请问串口接收数据到一个缓存中(BYTE或PBYTE)吧,但是因为输出到Edit控件中就必须先转成CString(看到EDit的成员函数都是操作CString的),即问题在于如何将BYTE数组转成CString,网上查了一下有限个数的数组可以依次Format到CString,但因为现在是大量的数据,所以这个问题如何解决?还有Edit控件显示接收到的数据,肯定不能是"00010203".而最

C# Socket 异步如何接收网页数据?

问题描述 publicstaticbyte[]ReceiveBodyData(Socketsocket){List<byte>list=newList<byte>();intnowContentLength=0;while(true){byte[]buffer=newbyte[BUFFER_SIZE];intreceiveCount=socket.Receive(buffer,BUFFER_SIZE,SocketFlags.None);if(receiveCount>0){f

dtu-通过端口接收DTU数据问题

问题描述 通过端口接收DTU数据问题 我现在在做一个用Socket通过TCP/IP或者UDP采集DTU数据的程序,DTU相当于客户端,每个DTU每秒钟都会向服务器发送一次数据,我要采集这些数据.使用Java开发,求大神指导,最好贴上完整代码,本人小白

atagram ocket-java udp DatagramSocket 发送接收消息

问题描述 java udp DatagramSocket 发送接收消息 使用如下代码发送并接收消息: SocketClient client = new SocketClient(); String serverHost = ""127.0.0.1""; int serverPort = 3333; client.send(serverHost serverPort (""你好,阿蜜果!"").getBytes()); Str

使用serialport类,如何判断接收的数据已经中断?

问题描述 之前发过一次贴,简单测试以为可以了,实际还是不行.具体要求如下:使用serialport类接收串口数据(串口数据是由与计算机相连的一台仪表以固定格式连续发送的),现在接收数据已正常,但是不知怎样判断串口数据已中断.(此处我所说的串口数据中断,是指由于串口rs232连接线路中断,或与计算机连接的仪表已关闭停止向计算机发送数据).之前发帖求助,得到的用serialPort.BytesToRead=0得到缓冲字节长度,只能在serialPort打开时判断有效,如果起初接收正常,突然中断了串口

Socket 通信 接收的数据包被分为多个

问题描述 客户端向服务端通过GPRS发送数据的时候,客户端发送的是一个数据包,但是服务端接受的时候发现那个数据包被分成两个子数据包.但是相同的数据包客户端通过其他方式发给服务端时,服务端能够接受一个完整的数据包.请问一下这个是什么原因.谢谢! 解决方案 解决方案二:面向连接的tcp,本来就是如此的.如果你不理解为什么会分包.粘包,那你就使用更为简单的可靠的http(它是tcp上更为可靠的实现).解决方案三:你所谓的数据包,是应用程序的数据包,跟底层的数据包是两回事(有些人总把tcp底层协议的数据

Ajax Hacks-Hack6 接收数字数据

ajax|数据 Ajax Hacks-Hack6 接收数字数据 本Hack以数字形式接收股票价格,然后和用户输入处理以后显示出结果.如果服务器没有返回正确的数字,程序会显示错误信息. Ajax技术的一个巨大进步就是从服务器接收不连续的数据,而不是整个页面.有时,这些不连续信息不得不作为一个数字,而不是作为一个字符串(就像上一个Hack讲的那样)或者其他对象.JavaScript能够很容易的将其他各式的数据转换成数字而不需要用户的干预,但尽管如此,用户还是不想从服务器得到一些奇怪的数据(需要格式检

浅谈PHP接收POST数据方式

  本文给大家简单介绍了下php接收post数据的3种方式,并附上了一则简单的示例,有需要的小伙伴可以参考下 通常情况下用户使用浏览器网页表单向服务器post提交数据,我们使用PHP接收用户POST到服务器的数据,并进行适当的处理.但有些情况下,如用户使用客户端软件向服务端php程序发送post数据,而不能用$_POST来识别,那又该如何处理呢? $_POST方式接收数据 $_POST方式是通过 HTTP POST 方法传递的变量组成的数组,是自动全局变量.如使用$_POST['name']就可

使用PHP接收POST数据,解析json数据

本篇文章是对使用PHP接收POST数据以及json数据进行了详细的分析介绍,需要的朋友参考下   复制代码 代码如下: <?php $json_string = $_POST["txt_json"]; if(ini_get("magic_quotes_gpc")=="1") { $json_string=stripslashes($json_string); } $user = json_decode($json_string); echo