我正在用Java编写一个程序,我在一个线程上打开了256个网络连接。每当套接字上有任何数据时,我都应该阅读并处理相同的数据。目前,我使用以下方法:
while true
do
iterate over all network connections
do
if non-blocking read on socket says there is data
then
read data
process it
endif
done
sleep for 10 milli-seconds
done
有没有更好的方法在Java上做同样的事情?我知道在C / C ++中有一个poll方法。但是在谷歌搜索之后,我对Java的民意调查没有具体的了解。有人可以解释一下吗??
答案 0 :(得分:1)
java.nio包听起来适合你想做的事。它提供了执行异步IO的方法。
答案 1 :(得分:1)
看看http://netty.io/(这是一个在java上构建网络应用程序的非阻塞框架)。 https://community.jboss.org/wiki/NettyExampleOfPingPongUsingObject - 网络上的“你好世界”。