我试图测试我的WebSocket服务器面对不可靠的客户端连接。强制删除WebSocket连接最简单的方法是什么?
我希望能够在任何时候选择在客户端强制删除单个WebSocket连接,而不发送关闭帧或TCP FIN握手。浏览器本身无法执行此操作(对吗?),因为它在关闭标签页时正常关闭每个WebSocket。来自同一主机的其他WebSocket连接(我在其他浏览器窗口中)不应受到影响。
我的系统是Ubuntu Linux 12.04;我的浏览器是Chrome(但我可以切换到任何兼容WebSocket的浏览器来测试)。
服务器正在使用Ruby和em-websocket。
选项,我认为:
killall -9 $pid_of_tab
但是这是一个有点粗鲁,内核显然还是关闭TCP连接iptables
防火墙规则,但需要root,这是很难只是一个下降连接(从本地主机),同时保持其他活着- 从另一台机器连接,然后拔出网络电缆或禁用所述WiFi
最后两个会起作用,但感觉好像有一个更简单的方法。有任何想法吗?
有趣的想法,我没有考虑到这一点。我最终使用了iptables hack,但如果我需要再次执行此操作,我会给WebScarab一个尝试。 – Thomas 2012-07-16 17:14:46