我已经使用Python创建了一个Flask服务器。我的服务器正在侦听127.0.0.1。
我已经用C#创建了SignalR客户端,并尝试连接到上述服务器。我在客户端遇到以下错误。
打开连接时出错:Microsoft.AspNet.SignalR.Client.HttpClientException:StatusCode:404,ReasonPhrase:'NOT FOUND',版本:1.1,内容:System.Net.Http.HttpConnection + HttpConnectionResponseContent,标头: { 日期:2019年6月18日,星期二04:11:55 GMT 内容类型:text / html 内容长度:232 } 在//src/Microsoft.AspNet.SignalR.Client/Http/DefaultHttpClient.cs:line 95中的Microsoft.AspNet.SignalR.Client.Http.DefaultHttpClient。<> c__DisplayClass5_0.b__1(HttpResponseMessage responseMessage) 在//src/Microsoft.AspNet.SignalR.Core/TaskAsyncHelper.cs:line 1280
中的Microsoft.AspNet.SignalR.TaskAsyncHelper.TaskRunners2.<>c__DisplayClass3_0.<RunTask>b__0(Task
1 t)
未处理的异常:System.InvalidOperationException:无法发送数据,因为连接处于断开状态。发送任何数据之前先呼叫开始。 在//src/Microsoft.AspNet.SignalR.Client/Connection.cs:行815中的Microsoft.AspNet.SignalR.Client.Connection.Send(字符串数据) 在//src/Microsoft.AspNet.SignalR.Client/中的Microsoft.AspNet.SignalR.Client.Hubs.HubProxy.Invoke [TResult,TProgress](字符串方法,Action`1 onProgress,Object [] args)中Hubs / HubProxy.cs:第184行 在/_/src/Microsoft.AspNet.SignalR.Client/Hubs/HubProxy.cs:line 71
中的Microsoft.AspNet.SignalR.Client.Hubs.HubProxy.Invoke(字符串方法,Object [] args)在服务器端,我看到: 127.0.0.1--[2019-06-18 09:41:55]“ GET /signalr/negotiate?clientProtocol=2.1&connectionData=[%7B%22Name%22:%22main%22%7D] HTTP / 1.1” 404 < / p>
从IE浏览器连接时,它工作正常。
hubConnection = new HubConnection("http://127.0.0.1:5000/", true);
IHubProxy myHub = hubConnection.CreateHubProxy("main");
hubConnection.Start(new LongPollingTransport()).ContinueWith(task =>
{
if (task.IsFaulted)
{
Console.WriteLine("Error Opening Connection:{0}", task.Exception.GetBaseException());
}
else
{
Console.WriteLine("Connected");
}
}).Wait();
有人可以告诉我,实际上是否可以从SignalR客户端连接到Flask服务器?如果是这样,必须纠正什么?