使用webSockets避免Nagle算法效果的最佳方法是什么?

Ale*_*lex 5 javascript android tcp websocket

我正在使用webSockets使用Java-WebSocket库将javascript webSocket客户端连接到java webSocketServer(来自Android应用程序).Android应用程序每隔几毫秒向javascript客户端发送一条小消息.

对于这种情况使用基本(和直观)方法,在javascript客户端内测量的接收消息之间的延迟显示(近似地)以下模式:200 ms,0.1 ms,0.1 ms,0.1 ms,0.1 ms,0.1 ms,0.1 ms,200 ms,0.1 ms,0.1 ms,0.1 ms,0.1 ms,0.1 ms,0.1 ms,200 ms,0.1 ms,0.1 ms,0.1 ms,0.1 ms,0.1 ms,0.1 ms ......

这是Nagle算法的效果,默认情况下设置,在发送之前聚集几条消息.

由于我还没有找到保证其停用的方法,我遵循这个旧问题中提出的方法,从客户端向服务器发送确认消息,系统行为正常,但由于确认消息没有真正的目的(它它更像是一个黑客),应该避免.

问题是,这仍然是解决这个问题的最佳方案吗?你知道有什么方法可以避免聚集吗?

谢谢.

Ale*_*lex 3

由于所使用的库上似乎不存在刷新或 setTCPNoDelay 机制,并且没有提出其他解决方案,因此确认消息解决方案似乎仍然是此问题的最佳解决方案。