java UDP编程无法接受数据,求指点!!!
ds.receive(dp);放到wHile循环里,检查到有了数据就跳出来,根据buffer有没有被填充先启动receive 再启动send先把127.0.0.1换乘你电脑的ip试一下,
6.Twisted UDP Socket 编程示例
示例:客户端每隔10秒向服务端报送设备使用情况,具体数据如下:数据以文本进行传输,传输格式:Key:Value,中间用冒号分隔。服务端只做数据的原样显示并回复"OK!"由于 UDP 没有连接的概念,所以大多数情况下,采用 UDP Socket 实现的应用都是由设备采集数据上报到服务上来运行的。虽然对于 UDP 来说没有服务端和客户端的概念,但在实际项目开发中,我们一般还是要区分服务端和客户端的。对于 UDP 服务端来说,其实代码很简单,因为其主要任务就是接收数据,然后对数据进行处理。先来编写代码框架:代码中,主要实现的是 datagramReceived 事件,一般在该事件的代码中就是我们的业务逻辑,示例代码如下:客户端代码相对比服务端要复杂一点,主要是客户端需要执行定时任务,这样的话,我们需要设计一个线程来执行该定时任务,由于线程中需要发送数据到服务端,所以,在线程中需要设计一个属性指向客户端的 protocol。线程的框架代码如下:客户端框架代码:线程主要通过 Protocol 发送数据,实现代码如下:客户端 Protocol 代码实现如下:在 Protocol 启动时连接到服务器,这样就可以形成 Connected UDP,相对于 UDP 来说,数据的传输可靠性有所提高,同时,在代码中发送数据也不需要写服务端的地址。