如何设计具有许多持久连接的服务器

Isa*_*ler 2 java sockets client persistent-connection

我正在设计一个应用程序,其中许多客户端连接到中央服务器.该服务器保持这些连接,每隔半小时发送一次保持活动.服务器有一个嵌入式HTTP服务器,它为客户端连接提供接口(例如http:// server/isClientConnected?id = id).我想知道最好的方法是什么.我目前的实现是用Java编写的,我只有一个带有ID的Map作为键,但是为每个连接启动了一个线程,我不知道这是否真的是最好的方法.任何指针将不胜感激.
谢谢,
艾萨克沃勒

Ger*_*ies 6

使用java.nio包,如本页所述:使用Java NIO构建高度可伸缩的服务器.还要非常仔细地阅读本页:高度可扩展的基于NIO的服务器的体系结构.

就个人而言,我不打扰NIO内部并使用像Apache MINA或xSocket这样的框架.NIO很复杂,很容易以非常模糊的方式出错.如果您希望它"正常工作",那么使用框架.