这可能吗?有人试过吗?
使用 websockets 意味着没有 httpheaders 被交换(就像在 Ajax 请求中一样),因此页面显示速度肯定会提高,但是即使没有任何事情发生,您也可以通过套接字保持与服务器的连接,是随着用户数量的增加,这是否有害?
在客户端和服务器之间保持连接的情况下,服务器是否仍然可以处理连接在同一端口上的其他客户端?
最佳答案
这绝对是可能的,但我还没有尝试过。您将获得延迟提升,但带宽提升不会显着。真正的问题不是服务器资源(在大多数情况下,通过 AJAX 持续轮询服务器可能在服务器上更难),但 AJAX 确实解决了很多问题(尤其是您将遇到的问题)增加),因此您将重建很多东西以供自定义使用。
除非您确实遇到延迟问题,否则我建议您使用标准 AJAX。或者仅将 WebSockets 用于实际需要低延迟的应用程序部分,这样您就不会重新创建所有轮子。
是的,能够让多个客户端同时连接到一个监听端口是可能的并且一直都在完成(例如,您的 Web 服务器几乎肯定会在端口 80 上这样做)。您的 WebSocket 服务器必须正确处理传入的连接(事件、线程或多进程),但这几乎是标准的公平(谷歌“套接字编程 YOUR_LANGUAGE”)。
关于node.js - 仅使用 websockets 构建整个站点(通过 socket.io 和 node.js,没有 Ajax)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8041710/