如果我在服务器和桌面客户端之间打开websocket连接,除了我显式发送一些外,两者之间是否真的没有数据或带宽被使用或交换?如果这是真的,这是否意味着我可以在服务器上同时打开数千个连接只要数据传输频率很低?
理论上是的。虽然WebSocket协议有ping/pong帧,并且两端中的任何一端都可以定期发送ping并期望ping作为应答,否则将终止连接。
不实现"keep alive"机制将是一个非常糟糕的主意,您将无法判断哪些连接实际连接或不正确关闭。
http://blog.stephencleary.com/2009/05/detection-of-half-open-dropped.html