禁用Nagle';s算法客户端/JavaScript
Nagle的算法是否也需要在客户端禁用?如果是这样的话,我还没有找到一种单独通过JavaScript禁用Nagle算法的方法 我试图通过websocket,从托管在Raspbian OS上的PHP CLI服务器(也托管在Windows7和Ubuntu上,结果相同)传输数据。此服务器已成功创建套接字并接受多个连接,并已设置TCP_节点延迟标志(仅使用套接字_get_选项验证) 在大多数平台上,无论是否设置此TCP_节点延迟标志,数据都将在不聚集的情况下流式传输。然而,在Windows7Chrome和Firefox上,数据以块的形式到达(延迟0.2秒)。在Windows 8、Linux、iOS和Windows 7的Internet Explorer 11上:我根本看不到这个问题 这是测试网站,点击“连接”,然后点击“查看游戏”,你会看到当前数据包从1稳步增加到20,每50毫秒一次。但是,在某些客户端上,它大约每200毫秒一次跳4次 有什么办法让这一切停止吗?使用node.js/socket.io可以修复类似的问题,并且仍然允许我从用户的浏览器运行代码吗禁用Nagle';s算法客户端/JavaScript,javascript,php,node.js,socket.io,nagle,Javascript,Php,Node.js,Socket.io,Nagle,Nagle的算法是否也需要在客户端禁用?如果是这样的话,我还没有找到一种单独通过JavaScript禁用Nagle算法的方法 我试图通过websocket,从托管在Raspbian OS上的PHP CLI服务器(也托管在Windows7和Ubuntu上,结果相同)传输数据。此服务器已成功创建套接字并接受多个连接,并已设置TCP_节点延迟标志(仅使用套接字_get_选项验证) 在大多数平台上,无论是否设置此TCP_节点延迟标志,数据都将在不聚集的情况下流式传输。然而,在Windows7Chrome
$sock = socket_create(AF_INET, SOCK_STREAM, SOL_TCP)
socket_set_option($sock, SOL_SOCKET, TCP_NODELAY, 1);