Java 传入消息的侦听器

Java 传入消息的侦听器,java,Java,我目前正在尝试使用Socket和ServerSocket类创建聊天应用程序,但我遇到了一些障碍。当消息从服务器或客户端传入时,我需要某种侦听器来执行特定的代码块,但我似乎找不到。当然,一种选择是每隔10毫秒或其他时间检查传入消息,但是否有更智能的解决方案?通常,您应该为正在读取的每个套接字分配一个线程,以便线程可以阻塞套接字并等待传入信息 您应该看看DataFetcher: 该类可以异步工作,并在新数据可用时通知FetcherListener。至于Socket和ServerSocket,读取调用

我目前正在尝试使用Socket和ServerSocket类创建聊天应用程序,但我遇到了一些障碍。当消息从服务器或客户端传入时,我需要某种侦听器来执行特定的代码块,但我似乎找不到。当然,一种选择是每隔10毫秒或其他时间检查传入消息,但是否有更智能的解决方案?

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

您应该看看DataFetcher:

该类可以异步工作,并在新数据可用时通知FetcherListener。至于Socket和ServerSocket,读取调用被阻止,因此在某种程度上,只要有传入数据,读取下面的代码就会被执行

但是要注意不完整的消息,因为套接字提供了字节流,应用程序通常更容易处理离散消息