java DatagramSocket receive 方法 接收 多个包 5
DatagramSocketsocket;socket.receive(receivePacket);以上是之前做接收Udp返回的。现在的情况是,当我UDP请求发出去后,...
DatagramSocket socket;
socket.receive(receivePacket);
以上是 之前 做 接收Udp 返回的。
现在的情况是, 当我 UDP 请求发出去后,可能会有多个 客户端向我 回执 UDP 数据。
我应该怎么 做 接收 更多的呢,以上的 方法只能接收到 一个 UDP 包 展开
socket.receive(receivePacket);
以上是 之前 做 接收Udp 返回的。
现在的情况是, 当我 UDP 请求发出去后,可能会有多个 客户端向我 回执 UDP 数据。
我应该怎么 做 接收 更多的呢,以上的 方法只能接收到 一个 UDP 包 展开
展开全部
recieve方法一般是一直监听的,也就是说你udp请求发出去,即使你会收到多个请求,你也需要用:
while(true){
socket.receive(receivePacket);
}
来接受所有的你收到的包,至于你说收不到多个包的原因是你只写了接受一次吧:
socket.send(pack);
socket.receive(receivedPacket);
这样当然你只能收到一个
while(true){
socket.receive(receivePacket);
}
来接受所有的你收到的包,至于你说收不到多个包的原因是你只写了接受一次吧:
socket.send(pack);
socket.receive(receivedPacket);
这样当然你只能收到一个
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
多线程,用一个线程监听,如果接到包,创建一个线程处理,继续监听。保证一直有一个线程在监听就可以了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询