【发布时间】:2014-11-27 15:15:14
【问题描述】:
所以我一直在用 Java 编写聊天程序/服务器。 到目前为止,我有一个非常好的客户端,以及一个看起来很有效的服务器。
基本上,服务器监听两个套接字,一个用于所有与聊天相关的内容,一个用于在需要时分发更新
当客户端连接时,它会根据服务器检查版本,如果需要,它会连接到文件套接字并下载更新的文件。
无论如何,我想弄清楚的是最好的服务器方法是什么,例如,现在当客户端连接时,它会打开一个新线程(可运行类)并在线程处理登录、发送和接收数据和 ping。
当客户端向服务器发送消息时,服务器会循环通过所有连接的客户端向它们发送消息。
在我看来,如果连接了 1000 多个客户端,则会导致很多稳定性、内存、cpu 和延迟问题,所以我很好奇处理 1000 个连接的最佳方法是什么?
【问题讨论】:
标签: java multithreading sockets