gpt4 book ai didi

posix - 在 Winsock 中混合文件句柄和套接字

转载 作者:行者123 更新时间:2023-12-04 15:38:15 25 4
gpt4 key购买 nike

我正在将一些代码从 BSD 套接字移植到 Winsock,但我不确定如何处理下面的情况。

我原来的应用程序在标准输入和网络套接字上运行一个选择:

FD_SET(sock, &fd);
FD_SET(0, &fd);
...
if (select(..., &fd, ... )...)

尝试在 Winsock 中运行它会产生错误 10038 (WSAENOTSOCK),这是有道理的,因为 Linux (stdin) 中的文件句柄 0 不是 Windows 中的套接字(更准确地说:SOCKET 类型)。

有没有一种简单的方法可以将此测试移植到 Windows 套接字?

最佳答案

我很想得到纠正,但据我所知,Winsock 并没有超出套接字的范围。也就是说,Unix 的 select()、read()、write() 等系统调用的“一切都是文件”哲学在 Winsock 中不存在。

我相信您可以仅使用在套接字和控制台句柄上工作的 Win32 API 来做类似的事情,但它看起来不再像 Winsock(或 BSD)了。

关于posix - 在 Winsock 中混合文件句柄和套接字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/396118/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com