具有重叠 I/O 的 TCP 连接

发布于 2024-12-09 05:01:21 字数 77 浏览 2 评论 0原文

是否可以使用重叠 I/O 发起 TCP 连接请求,并在 Windows 中连接完成之前取消它?我需要至少支持 Windows XP SP2。

Is it possible to initiate a TCP connection request with overlapped I/O, and cancel it before the connection has been completed in Windows? I need to support at least Windows XP SP2.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

深海里的那抹蓝 2024-12-16 05:01:21

ConnectEx 允许重叠的连接尝试。

要取消此操作,需要使用 CancelIo< /code>传递 SOCKET 就好像它是 HANDLE (确实如此)。但这必须从调用ConnectEx的同一线程完成。管理事物以实现线程特异性不太容易。

XP/2003(即 Vista/2008/8/2008R2)之后,您可以使用 CancelIoEx 来自不同的线程(OVERLAPPED 实例用于完全识别IO 操作)。

ConnectEx allows an overlapped connection attempt.

To cancel this one would need to use CancelIo passing the SOCKET as if it were a HANDLE (it is really). But this must be done from the same thread that called ConnectEx. Managing things so you can achieve that thread specificity is unlikely to be easy.

After XP/2003 (ie. Vista/2008/8/2008R2) you can use CancelIoEx from a different thread (the OVERLAPPED instance is used to fully identify the IO operation).

み零 2024-12-16 05:01:21

来自此处

重叠

该目录包含一个使用重叠的示例服务器程序
输入/输出。示例程序使用 AcceptEx 函数和重叠 I/O
处理来自客户端的多个异步连接请求
有效地。服务端使用AcceptEx函数进行复用
单线程 Win32 应用程序中的不同客户端连接。
使用重叠 I/O 可以实现更高的可扩展性。

From here:

overlap

This directory contains a sample server program that uses overlapped
I/O. The sample program uses the AcceptEx function and overlapped I/O
to handle multiple asynchronous connection requests from clients
effectively. The server uses the AcceptEx function to multiplex
different client connections in a single-threaded Win32 application.
Using overlapped I/O allows for greater scalability.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文