System.Net.Sockets
public async void startTCP()
{
await client.ConnectAsync(IPAddress, port);
stream = client.GetStream();
}
我用try catch
块包围它但是当我运行代码并引发此异常时,VS显示我在
UnhandledException += (sender, e) =>
{
if (global::System.Diagnostics.Debugger.IsAttached)
global::System.Diagnostics.Debugger.Break();
};
App.g.i.cs
中的不是我想成为的地方=>自己处理异常
System.Net.Internals.SocketExceptionFactory + ExtendedSocketException: 请求的地址在其上下文中无效 255.255.255.255:25565 在System.Net.Sockets.Socket.EndConnect(IAsyncResult asyncResult) 在System.Net.Sockets.TcpClient.EndConnect(IAsyncResult asyncResult) 在System.Net.Sockets.TcpClient。<> c.b__21_1(IAsyncResult) asyncResult) 在System.Threading.Tasks.TaskFactory1.FromAsyncCoreLogic(IAsyncResult) iar,Func2 endFunction,Action1 endAction,Task1 promise,Boolean requiresSynchronization) ---从抛出异常的先前位置开始的堆栈跟踪结束--- 在System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务 任务) 在System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务 任务) 在System.Runtime.CompilerServices.TaskAwaiter.GetResult() at PersonDesk.Socket.d__10.MoveNext() ---从抛出异常的先前位置开始的堆栈跟踪结束--- 在System.Runtime.CompilerServices.AsyncMethodBuilderCore。<> c.b__6_0(对象) 州) 在System.Threading.WinRTSynchronizationContext.Invoker.InvokeCore()}
IP地址只是要引发异常的占位符
答案 0 :(得分:2)
public async void startTCP()
是async void
。你不应该这样做。因为
我用try catch block
包围它
这是async void
无法解决的问题。
要获得完整的答案,您必须说明如何调用startTCP()。涉及完整的调用链。
似乎是关于WPF,所以从事件处理程序开始(可以是异步空格)。