究竟是什么WSAEvent
?Linux中的WSAEvent相当于什么?
我猜WSAEvent
只是一个类似于Linux中的套接字描述符的数字。在Linux中,WSAEventSelect()
与select()
一样。
究竟是什么WSAEvent
?Linux中的WSAEvent相当于什么?
我猜WSAEvent
只是一个类似于Linux中的套接字描述符的数字。在Linux中,WSAEventSelect()
与select()
一样。
This snippet from Chromium源代码,应该让你开始吧。 Chromium中使用的“基础”库是跨平台的。
从对这个问题的评论,(端口Windows应用程序进入Linux) 这些应该让你开始: http://msdn.microsoft.com/en-us/library/ms742219.aspx
http://msdn.microsoft.com/en-us/library/ms741561.aspx
答案为标题的问题:
POSIX异步I/O可能是Windows重叠IO的等效关闭。请参阅man page of aio(7)。
如果你想将一个windows应用程序移植到Linux上,那么我建议使用select()
而不是AIO的东西。 select
更多使用和简单易用。在完成与select()
的Linux版本之后,您可以轻松地将网络部分移回Windows。一般来说:在实现便携式程序时避免使用WSAxxxx
。
你可能想要签出一个事件循环,比如libev或libevent。据我了解,WSA中的“事件”与libev中的“watcher”类似,所以它应该在不改变逻辑的情况下进行转换。
我需要将Windows应用程序移植到Linux中。我了解api在Linux中创建客户端/服务器应用程序,但在Windows中,它有WSAEvent,我不知道它适合哪里。 – Amumu