C# 信号器HUB连接立即关闭,无错误

C# 信号器HUB连接立即关闭,无错误,c#,.net,signalr,signalr-hub,signalr.client,C#,.net,Signalr,Signalr Hub,Signalr.client,我正在尝试使用.NET中的SignalR创建一个既作为客户端又作为服务器的应用程序。最终目标是将其与我们现有的产品集成,该产品要求同时作为客户端和服务器,因为一台计算机同时作为客户端和服务器,而其他计算机都是客户端 在服务器启动代码完成后运行的客户端启动代码中,将运行以下代码: m_hubConnection = new HubConnection( "http://localhost:8080/" ); m_myHubProxy = m_hubConnection.CreateHubProx

我正在尝试使用.NET中的SignalR创建一个既作为客户端又作为服务器的应用程序。最终目标是将其与我们现有的产品集成,该产品要求同时作为客户端和服务器,因为一台计算机同时作为客户端和服务器,而其他计算机都是客户端

在服务器启动代码完成后运行的客户端启动代码中,将运行以下代码:

m_hubConnection = new HubConnection( "http://localhost:8080/" );
m_myHubProxy = m_hubConnection.CreateHubProxy( nameof( ServerHub ) );
m_myHubProxy.On<string, string>( nameof( ServerHub.BroadCastMessage ), ( name, message ) => OnMessageReceived( name, message ) );
m_hubConnection.Closed += OnClosed;
m_hubConnection.Error += OnErrorReceived;
await m_hubConnection.Start(new WebSocketTransport()); 
await SendMessage( "Startup", "Sending from same thread as connection established" );
m_hubConnection=新的hubConnection(“http://localhost:8080/" );
m_myHubProxy=m_hubConnection.CreateHubProxy(nameof(ServerHub));
m_myHubProxy.On(nameof(ServerHub.BroadCastMessage),(name,message)=>OnMessageReceived(name,message));
m_hubConnection.Closed+=OnClosed;
m_hubConnection.Error+=OnErrorReceived;
等待m_hubConnection.Start(新建WebSocketTransport());
等待SendMessage(“启动”,“从建立连接的同一线程发送”);
OnClosed回调几乎立即被调用,因此连接在启动时立即关闭

OnErrorReceived回调从未被调用,因此它不会因任何明显错误而关闭

Start方法挂起并且从不回调

SendMessage方法从未命中


理想情况下,我希望连接打开,保持打开状态,点击SendMessage,向集线器发送消息,并将相同的消息广播回客户端


有什么问题吗?

修复了这个愚蠢的错误。我刚从8080端口切换到8089端口。我猜还有其他东西在使用端口8080,但不管怎样,将客户端和服务器端都切换到端口8089修复了它。

如果将URL更改为
http://localhost:8080/signalr
?尝试了一下,但没有成功。启动配置正在与“/信号器”路径映射。还尝试将“/signalr”添加到服务器的字符串中(并将两者一起添加),但组合不起作用在浏览器的“网络”选项卡中,您应该看到
connect?transport=…
start?transport=…
。那些人得到了200条回复吗?对于第二个请求,响应主体包含什么?您的服务器是否启用了WebSocket?(如果您没有使用浏览器来测试,您仍然可以使用Fiddler来拦截和检查请求/响应)应该已经澄清,我不是通过ASP.NET网页来完成的,它是一个控制台应用程序。我分叉了这个项目,尝试用两个控制台应用程序进行回购,所以我尝试将两个工作控制台应用程序合并为一个。因此,浏览器的“网络”选项卡中没有任何信息。如果您想要比较或查看,并且仍然可以使用fiddler收集诊断信息。