如何使用 windows StreamSocket 处理断开/重新连接

How to handle disconnection / reconnection with windows StreamSocket

使用 windows StreamSocket class (TCP) 处理断开连接和重新连接事件的正确方法是什么?

我有一个问题,在断开连接事件后调用 async_connect 时调用 "Invalid Operation, method was called at an unexpected time"

我是否需要创建一个新的 streamsocket,或者在尝试重新连接之前等待一段时间?

https://docs.microsoft.com/en-us/uwp/api/windows.networking.sockets.streamsocket

解决方案是添加以下代码:

// on catching an exception
socket.dispose();
connect();

// connect function
connect():
    socket = new StreamSocket ...

必须 1) 在客户端断开连接的套接字上调用 socket.dispose() 和 2) 创建一个新套接字 (socket = new StreamSocket(...))。重复使用同一个套接字进行连接无效。