首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何创建一个实时聊天服务器,如skype/facebook/gtalk/paltalk/yahoo-messenger?

如何创建一个实时聊天服务器,如skype/facebook/gtalk/paltalk/yahoo-messenger?
EN

Stack Overflow用户
提问于 2013-06-22 21:18:05
回答 1查看 1.5K关注 0票数 0

我想创建一个实时聊天服务器,目前我已经在该服务器创建了一个服务器,我使用TCP协议与客户端通信,当一个客户端连接到我的服务器时,我为该客户端创建了一个新的线程,现在它工作得很好,因为我只连接了100个客户端,但我希望我的服务器一次至少能处理大约20000个客户端。所以我非常关心我的服务器的性能,我知道创建20000个线程根本不是一个好的做法,所以我希望一些专家告诉我,我必须遵循哪些步骤来创建一个可扩展的聊天服务器,它将能够轻松地处理至少20000个客户端。我希望你能为我提供一些链接。

EN

回答 1

Stack Overflow用户

发布于 2013-06-23 03:16:45

您说得对,为每个客户端创建一个新线程不是一个好主意。您可以考虑基于NIO的TCP服务器。在这些线程中,有一个固定大小的线程池,这些线程并发地服务于请求。这20000个TCP连接不是由线程维护的,而是在需要采取某些操作时,系统唤醒其中一个可用线程。我使用了Apache Mina,这是一个基于JAVA的NIO服务器,用于开发类似的服务,并发现它具有很好的伸缩性。

如果你想构建一个像你提到的那样的聊天服务器,你还需要考虑如何以及在哪里保存聊天历史记录,用户管理等。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17251189

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档