2012-05-23 112 views
1

我目前正在尝试使用Socket和ServerSocket类创建聊天应用程序,但我有点碰到了障碍。当消息从服务器或客户端传入时,我需要某种侦听器来执行某个代码块,但我似乎无法找到一个。一个选项当然是每10毫秒检查一次传入的消息,但是没有更聪明的解决方案吗?接收消息的监听器

回答

0

通常,您应该为每个您正在读取的套接字分配一个线程,以便线程可以阻塞套接字并等待传入​​的信息。当新数据可用

0

我建议NettyMinahttp://tus.svn.sourceforge.net/viewvc/tus/tjacobs/io/

这个类可以异步工作,并通知FetcherListener:

你应该DataFetcher看一看。至于Socket和ServerSocket,read()调用被阻塞,所以只要有传入数据,read()的下面的代码就会被执行。

虽然提防不完整的消息,因为套接字提供了一个字节流,应用程序通常更适合离散消息。

相关问题