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

时间:2011-04-22 13:53:26

标签: c++ sockets gcc winsock

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

3 个答案:

答案 0 :(得分:1)

我相信您想查看select函数

答案 1 :(得分:1)

我使用pselec t函数。

答案 2 :(得分:1)

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

另一方面,Winsock的异步套接字不会阻塞。还有大量的异步通知,你的代码无疑会依赖它。

我不相信OS X上有任何提供类似行为的本机API。但是,有可能建立这样的东西。一个小小的谷歌搜索出现了CocoaAsyncSocket

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

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