该代码源自this repo。我将客户端更改为Javascript客户端。
Javascript客户端通过以下方式连接到Azure SignalR:
var connection = new signalR.HubConnectionBuilder('https://test.service.signalr.net/client/?hub=chathub')
.withUrl('/chathub', { accessTokenFactory: () => "jwt token with userid" })
.build();
我在广播时可以正常工作。我的问题是我还没有找到订阅群组并仍然收到消息的方法。
由于没有服务器,因此消息是通过REST API发送的。 服务器处理程序(dotnet核心)通过HttpClient发送消息。 (必须进行广播,组和订阅)。
我尝试按照API中所述通过Postman / Insomnia REST Client进行订阅:
PUT https://test.service.signalr.net/api/v1/hubs/chathub/groups/groupname/users/user1
返回了202状态码,但是javascript客户端不会收到消息。 (也已在websocket连接中的浏览器开发工具中进行了检查。只能看到保持活动的消息。)
更新1:
我使用C#客户端对其进行了测试,并且可以正常工作! 问题是,组消息不适用于Javascript ...