客户端没有接收到消息
本文关键字:消息 客户端 | 更新日期: 2023-09-27 18:14:29
我有一个。net控制台应用程序,我正在练习signalR。
var hubConnection = new HubConnection("http://URL/signalr/");
var hub = hubConnection.CreateHubProxy("Hub");
hub.StateChanged += change =>
{
Console.WriteLine(change.NewState);
};
hub.Received += s =>
{
Console.WriteLine(s);
};
hub.On<string, string>("processMessage", (group, message) =>
{
Console.WriteLine(message);
});
await hubConnection.Start();
await hub.Invoke<string>("Subscribe", "New group");
我看到状态从连接到连接,但当服务器发送消息时,我没有在客户端上获得"已接收"事件。一旦客户端订阅,服务器就会发送组消息,我可以看到消息以正确的"新组"组名发送,但我从未在客户端收到消息。当服务器使用该方法时,我也没有收到processMessage事件。
服务器代码
private void CallBack(string group, string message)
{
Clients.Group(group).processMessage(group, message);
}
服务器上的另一个方法是Subscribe,它只是设置我的内部服务器在有可用数据发送到客户端时使用CallBack方法。
编辑
没有完整的服务器端代码很难说,但我认为这部分是错误的
hubConnection.CreateHubProxy("Hub");
作为参数,您需要服务器端hub类的名称。例如
hubConnection.CreateHubProxy("MyHub");
要获得有关客户端失败原因的更多信息,您可以将以下内容临时添加到HubConnection
hubConnection.TraceLevel = TraceLevels.All;
hubConnection.TraceWriter = Console.Out;
添加此内容后,您将在VS