【发布时间】:2020-05-21 14:37:32
【问题描述】:
webSocketClient = new WebSocketClient();
webSocketClient.start();
wsTransport = new JettyWebSocketTransport(null, null, webSocketClient);
bayeuxClient = new BayeuxClient(url, wsTransport);
bayeuxClient.getChannel(someChannel);
bayeauxClient.handshake(handshakeAuthRequest);
考虑到上述 Java 代码有效(并且所有内容都已声明),我如何在 Javascript (node.js) 中指定 Jetty ClientTransport wsTransport?
我已经尝试了一些类似的东西:
var connection = new comet.CometD();
connection.configure({
url: url,
channel: someChannel
}
connection.handshake(handshakeAuthRequest, function (response) {
console.log(response);
});
但是我得到一个未知的 Bayeaux 传输失败原因,可能是因为我没有在任何地方指定 Jetty 传输协议,我也找不到如何为 javascript 执行此操作。部分回复如下。
{
id: '1',
successful: false,
channel: '/meta/handshake',
failure: {
reason: 'Unknown Bayeux Transport',
exception: undefined,
httpCode: 400,
connectionType: 'long-polling',
......
}
【问题讨论】:
标签: javascript java node.js websocket cometd