Java udp编程

在项目中用到udp进行数据传输,遇到过两个问题:

一、receive数据的阻塞

由于该接口是阻塞的,如果接受不到数据,会一直阻塞,这就导致程序不能继续往下执行。因此,在调用receive()接口前,先调用setSoTimeout()接口,设置一个超时时间,这样就不会因为读不到数据而阻塞住。


二、循环中发数据复用socket

由于一直使用相同的socket,导致接收到的数据出现偏移,这个问题一直不知道具体什么原因。但是,改用每次都重新new一个socket后,就不会出现相同的问题了。


posted @ 2016-03-08 21:27  luceion  阅读(196)  评论(0编辑  收藏  举报