服务器是否仅限于广播到一个会话?或一次一次会话 - 我正在与同一帐户连接,尽管auth令牌是不同的
我很困。我已经复制了参考实现的所有输入,套接字连接,正如我所说,我发送pings并恢复乒乓球,但没有数据。
注意,JWT令牌在URL(WSURL)中传递
const websocketInstance = new WebSocket(wsUrl, {
headers: {
Host: "******.signalr.net",
"Accept-Language": "en-GB,en;q=0.5",
"Accept-Encoding": "gzip, deflate, br, zstd",
"Sec-WebSocket-Version": "13",
Origin: "********.com",
"Sec-WebSocket-Extensions": "permessage-deflate",
"Sec-WebSocket-Key": "********",
Connection: "keep-alive, Upgrade",
"Sec-Fetch-Dest": "empty",
"Sec-Fetch-Mode": "websocket",
"Sec-Fetch-Site": "cross-site",
Pragma: "no-cache",
"Cache-Control": "no-cache",
Upgrade: "websocket",
});
websocketInstance.on("open", () => {..}
websocketInstance.on("message", (data) => {..}
websocketInstance.on("pong", (data) => {..}
websocketInstance.on("error", (error) => {..}
...
}
您成功地连接到Azure Signalr并获得两个响应,但是您没有收到实际消息。 这是因为您直接通过WebSocket(
wss://
https://
.https://
wss://
POST
。
从响应中提取
https://your-signalr-service.signalr.net/client/negotiate
和
url
。
这里是示例代码:
accessToken
,以更好地了解Azure Signalr服务。作为替代方案,您可以在处理谈判,代币和重新连接时使用
wss:// URL
而不是原始的Websocket。
doc1,