制作可扩展的C#websocket服务器(多个客户端)

时间:2018-01-14 00:42:56

标签: c# sockets websocket

我需要一些有关如何处理大量套接字连接的建议或更多信息。这是我的计划的概述。

在已定义的端口上打开套接字并侦听传入的连接。然后使用Asynccallback调用beginaccept。接受连接,获取标头,散列并对密钥进行编码并发送响应,从而完成握手。

握手完成后,套接字将传递给ArrayList。我调用Spcket.Select来监听任何传入的消息,并在从客户端发送数据时调用socket.Receive。

现在我想扩展它以处理数百条消息。保持一个Arraylist不是我认为最好的。

您的投入非常感谢。如果您希望查看代码,请与我们联系。

1 个答案:

答案 0 :(得分:1)

根据Microsoft文档。 socket.select接受一个I​​List参数来检查套接字的状态是否可读,可写。我无法找到解决方法。

套接字也是无法轻松存储在数据库中的对象。因此,在目前,我的结论是将所有活动套接字保留在列表中,并在连接出现时更新它。