2010-10-13 106 views
3

我在google上找到了這樣的問題,並得到了不同的答案。我無法確定在Linux 2.6中的posix aio是否支持套接字文件描述符。在Linux 2.6支持套接字文件描述符嗎posix aio?

,如果它支持TCP套接字,莫非aiocb.aio_offset = 0相對於從TCP套接字fd readed第一字節?

如果沒有,linux中的任何異步io庫是否支持套接字fd?

+1

引用@ [skyde]的評論(http://stackoverflow.com/users/185646/skyde):沒有。 「AIO在套接字上讀寫(不返回明確的錯誤,但默認默認爲同步或非AIO行爲)」 - http://lse.sourceforge.net/io/aio.html – jweyrich 2011-11-11 15:53:06

回答

0

上面的註釋表明aio不支持套接字。你要求可能的選擇。

顯而易見的是:

  • 使用事件驅動的編程模型,或者使用輪詢用手工製作(2)或你有什麼,或通過像尼爾斯·普羅沃斯‘的libevent’
  • 使用的庫螺紋

我一般喜歡做的事情的事件驅動方式,一般採用的libevent,這是記錄在這裏:http://libevent.org/

但請記住,事件驅動的編程與您在程序組織中可能使用的編程有很大的不同。線程在概念上是相似的,儘管在處理大量套接字時效率通常較低。

相關問題