1

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

在断开连接事件后调用 async_connect 时,我遇到了调用“无效操作,方法在意外时间被调用”的问题

我需要创建一个新的流套接字,还是在尝试重新连接之前等待一段时间?

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

4

1 回答 1

1

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

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

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

有必要 1) 在客户端断开连接的套接字上调用 socket.dispose() 并 2) 创建一个新套接字 (socket = new StreamSocket(...))。重复使用相同的套接字进行连接不起作用。

于 2019-07-08T06:30:49.690 回答