握手后,cometd立即返回“ 402 :: Unknown Client”错误

时间:2018-06-27 03:25:36

标签: java networking jboss cometd

我有一个使用CometD Java构建的应用程序,该应用程序已部署到许多客户端托管实例,并且运行良好。但是,在最近的客户端实现中,我们遇到一个问题,即彗星长轮询请求在执行握手后立即返回“ 402 :: Unknown Client”错误。

因此,浏览器尝试了另一次握手,该握手已成功,但是随后再次在下一个请求中返回402 :: Unknown Client错误。如此重复,如此。

我看不到此客户端实现与以前的客户端实现(相同的jboss / apache版本,等等)之间的任何区别,所以我对发生这种情况的原因感到困惑。

赞赏任何想法或建议。

谢谢。

1 个答案:

答案 0 :(得分:0)

负载均衡器很可能没有将同一客户端粘贴到同一服务器,而必须这样做。

最好的方法是坚持客户端IP地址,因为这对HTTP和WebSocket传输都适用;或者,您可以粘贴CometD发送的BAYEUX_BROWSER Cookie。

其他选择包括创建HTTP会话并使用其cookie,但这会排除WebSocket传输(或者您必须具有其他机制)。