什么是WSAAsyncSelect()函数在Apple GCC中的模拟

What is WSAAsyncSelect() function analogue in Apple GCC?

本文关键字:GCC Apple 模拟 函数 WSAAsyncSelect 什么      更新时间:2023-10-16

请告诉我将WSAAsyncSelect()函数移植到GCC的最简单的方法…

虽然select()pselect()可能适用于您的应用程序,但它们与WSAAsyncSelect()非常不同。这些函数允许您在非阻塞套接字或套接字集合上执行受控阻塞。对于poll()也是如此。

另一方面,Winsock的异步套接字永远不会阻塞。还有一个很大的异步通知问题,你的代码无疑依赖于它。

我不相信OS X上有任何原生api提供类似的行为。然而,建立这样一个东西是可能的。在谷歌上搜索了一下CocoaAsyncSocket。

如果你不想依赖第三方库,我建议在Cocoa的CFSocket上构建一些东西,就像CocoaAsyncSocket开发者所做的那样,如果你要移植一个GUI程序,而不是挖掘像select()这样的核心功能。对于使用单一的开发框架来处理所有的事情,这是有道理的。

如果您需要您的代码是跨平台的,wxWidgets库具有wxSockets*类层次结构,它模拟了Winsock异步套接字机制。总的来说,wxWidgets的结构与MFC非常相似,如果您熟悉MFC,可以简化移植。

我相信你想看看select函数

我使用了pselect函数