2011-12-12 79 views
1

究竟是什么WSAEventLinux中的WSAEvent相当于什么?

我猜WSAEvent只是一个类似于Linux中的套接字描述符的数字。在Linux中,WSAEventSelect()select()一样。

+0

我需要将Windows应用程序移植到Linux中。我了解api在Linux中创建客户端/服务器应用程序,但在Windows中,它有WSAEvent,我不知道它适合哪里。 – Amumu

回答

2

This snippet from Chromium源代码,应该让你开始吧。 Chromium中使用的“基础”库是跨平台的。

0

答案为标题的问题:

POSIX异步I/O可能是Windows重叠IO的等效关闭。请参阅man page of aio(7)

如果你想将一个windows应用程序移植到Linux上,那么我建议使用select()而不是AIO的东西。 select更多使用和简单易用。在完成与select()的Linux版本之后,您可以轻松地将网络部分移回Windows。一般来说:在实现便携式程序时避免使用WSAxxxx

0

你可能想要签出一个事件循环,比如libev或libevent。据我了解,WSA中的“事件”与libev中的“watcher”类似,所以它应该在不改变逻辑的情况下进行转换。