Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/275.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何从Xamarin客户端连接到SignalR服务器?_C#_Asp.net_Xamarin_Xamarin.android_Signalr - Fatal编程技术网

C# 如何从Xamarin客户端连接到SignalR服务器?

C# 如何从Xamarin客户端连接到SignalR服务器?,c#,asp.net,xamarin,xamarin.android,signalr,C#,Asp.net,Xamarin,Xamarin.android,Signalr,(**)我创建了一个ASP.NET web服务器,托管SignalR hub。我跟着 辅导的它起作用了。然后我创建了一个Xamarin.Android客户端(*)。问题是我无法连接到服务器。我想,我无法连接,因为我的主机地址中有“localhost”。这个例外相当大 如果我的怀疑是正确的,我该如何解决?如何使localhost看起来像普通服务器 (*)-我也试过使用Xamarin.Forms (**)-请看问题底部的“编辑” 这是我的方法: protected override void

(**)我创建了一个ASP.NET web服务器,托管SignalR hub。我跟着 辅导的它起作用了。然后我创建了一个Xamarin.Android客户端(*)。问题是我无法连接到服务器。我想,我无法连接,因为我的主机地址中有“localhost”。这个例外相当大

如果我的怀疑是正确的,我该如何解决?如何使localhost看起来像普通服务器

(*)-我也试过使用Xamarin.Forms

(**)-请看问题底部的“编辑”

这是我的方法:

    protected override void OnCreate(Bundle bundle)
    {
        base.OnCreate(bundle);

        // Set our view from the "main" layout resource
        SetContentView(Resource.Layout.Main);

        // Get our button from the layout resource,
        // and attach an event to it
        Button button = FindViewById<Button>(Resource.Id.MyButton);

        button.Click += async delegate 
        {
            button.Text = string.Format("{0} clicks!", count++);
            var hubConnection = new HubConnection("http://localhost:64642");
            var chatHubProxy = hubConnection.CreateHubProxy("ChatHub");
            try
            {
                // Start the connection
                await hubConnection.Start();

                // Invoke the 'UpdateNick' method on the server
                await chatHubProxy.Invoke("Send", new object[] { "TheMessage", "JohnDoe" });
            }
            catch(Exception ex)
            {

            }
        };
    }
protectedoverride void OnCreate(捆绑包)
{
base.OnCreate(bundle);
//从“主”布局资源设置视图
SetContentView(Resource.Layout.Main);
//从布局资源中获取我们的按钮,
//并在其上附加一个事件
Button Button=FindViewById(Resource.Id.MyButton);
按钮。单击+=异步委托
{
button.Text=string.Format(“{0}点击!”,count++);
var hubConnection=新的hubConnection(“http://localhost:64642");
var chatHubProxy=hubConnection.CreateHubProxy(“ChatHub”);
尝试
{
//启动连接
等待连接。开始();
//在服务器上调用“UpdateNick”方法
等待chatHubProxy.Invoke(“发送”,新对象[]{“TheMessage”,“JohnDoe”});
}
捕获(例外情况除外)
{
}
};
}
{System.Net.WebException:错误:ConnectFailure(连接被拒绝) --->System.Net.Sockets.SocketException:在System.Net.Sockets.Socket.Connect(System.Net.EndPoint remoteEP)拒绝连接 [0x000cb]英寸 /Users/builder/data/lanes/3511/77cb8568/source/mono/mcs/class/System/System.Net.Sockets/Socket.cs:1313 在System.Net.WebConnection.Connect(System.Net.HttpWebRequest 请求中的[0x0019b] /Users/builder/data/lanes/3511/77cb8568/source/mono/mcs/class/System/System.Net/WebConnection.cs:195 ---内部异常堆栈跟踪结束---位于System.Net.HttpWebRequest.EndGetResponse(System.IAsyncResult 异步结果)[0x0005e]输入 /Users/builder/data/lanes/3511/77cb8568/source/mono/mcs/class/System/System.Net/HttpWebRequest.cs:1023 位于System.Threading.Tasks.TaskFactory
1[TResult].FromAsyncCoreLogic
(System.IAsyncResult iar,System.Func
2[T,TResult]endFunction, System.Action
1[T]endAction,System.Threading.Tasks.Task
1[TResult] promise,System.Boolean要求同步)[0x00014]输入 /Users/builder/data/lanes/3511/77cb8568/source/mono/mcs/class/referencesource/mscorlib/system/threading/Tasks/FutureFactory.cs:550

---来自引发异常的上一个位置的堆栈结束跟踪---在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() [0x0000c]英寸 /Users/builder/data/lanes/3511/77cb8568/source/mono/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:143 在System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess 中的(System.Threading.Tasks.Task任务)[0x00047] /Users/builder/data/lanes/3511/77cb8568/source/mono/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 在 System.Runtime.CompilerServices.TaskWaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task任务)[0x0002e]中的 /Users/builder/data/lanes/3511/77cb8568/source/mono/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 在System.Runtime.CompilerServices.TaskWaiter.ValidateEnd (System.Threading.Tasks.Task任务)[0x0000b]位于 /Users/builder/data/lanes/3511/77cb8568/source/mono/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 在 System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter[TResult].GetResult ()[0x00000]英寸 /Users/builder/data/lanes/3511/77cb8568/source/mono/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:535 在System.Net.Http.HttpClientHandler+c_uasync0.MoveNext()上 [0x003ce]英寸 /Users/builder/data/lanes/3511/77cb8568/source/mono/mcs/class/System.Net.Http/System.Net.Http/HttpClientHandler.cs:379

---来自引发异常的上一个位置的堆栈结束跟踪---在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() [0x0000c]英寸 /Users/builder/data/lanes/3511/77cb8568/source/mono/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:143 在System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess 中的(System.Threading.Tasks.Task任务)[0x00047] /Users/builder/data/lanes/3511/77cb8568/source/mono/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 在 System.Runtime.CompilerServices.TaskWaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task任务)[0x0002e]中的 /Users/builder/data/lanes/3511/77cb8568/source/mono/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 在System.Runtime.CompilerServices.TaskWaiter.ValidateEnd (System.Threading.Tasks.Task任务)[0x0000b]位于 /Users/builder/data/lanes/3511/77cb8568/source/mono/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 在 System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter[TResult].GetResult ()[0x00000]英寸 /Users/builder/data/lanes/3511/77cb8568/source/mono/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:535 在System.Net.Http.HttpClient+c_uuasync0.MoveNext()上 [0x000a9]英寸 /Users/builder/data/lanes/3511/77cb8568/source/mono/mcs/class/System.Net.Http/System.Net.Http/HttpClient.cs:276

---来自上一个异常位置的堆栈结束跟踪