나는 signalR을 실습하고있는 .NET 콘솔 어플리케이션을 가지고 있습니다.SignalR .NET 클라이언트가 메시지를 수신하지 않습니다.
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);
}
서버에서 다른 방법은 그냥 클라이언트에 보낼 수있는 데이터가있을 때 콜백 메소드를 사용하여 내 내부 서버를 설정하는 구독입니다.
편집 이것은 자바 스크립트에서만 작동하지만 .NET 클라이언트에서는 작동하지 않습니다. 전체 서버 측 코드없이
도 서버 코드를 추가하십시오. –
가까운 투표와 downvote가 필요한 이유는 무엇입니까? 이것은 합법적 인 질문입니다. –
서버 코드가 추가되었습니다. – Chrisgozd