我有一个单线程 AIX 服务器,它使用 poll() 函数轮询多个套接字和一个消息队列(AIX 具有轮询处理这两者的简洁特性,并且它适用于大约 1000 个套接字)。我想知道将 websockets 支持添加到现有服务器是否是一个坏主意 - 以及添加单独的服务器来处理 websockets 客户端是否会更好。
我对 websockets 的兴趣主要是研究在浏览器中用 javascript 重新实现 C 客户端的可行性。目前,客户端使用winsock,并使用SRP(安全远程密码)来处理身份验证,并提供一个加密密钥供libdes使用来加密后续消息。
在 C 客户端中过渡到 websockets 并放弃 3des 加密逻辑以支持 SSL 可能会很好。但我很好奇 SSL 身份验证是否会产生足够的开销,从而在单线程服务器中成为问题。目前,我的服务器通过后端消息队列将 SRP 身份验证握手消息传递给一个单独的进程,因此身份验证数字处理中的任何缓慢都不会影响我的服务器进程。SSL握手在单线程服务器中不是问题吗?