有什麼辦法可以將回調函數與Linux中的套接字相關聯嗎?Linux中的套接字回調
例如, 後連接(一個或多個,(結構sockaddr *)peeraddr,的sizeof(* peeraddr)),與服務器功能已連接的客戶端,有一個方法的功能 - afterRecv與承插S,從而關聯,經過recv函數已經從套接字讀取了一些數據,afterRecv被調用了嗎?
我的套接字是阻塞類型。這種需求背後的原因是,我正在使用一個OpenSSL,它在內部握手期間在套接字上執行了許多發送/接收調用。如果我修改OpenSSL,那麼修改每個recv都會非常麻煩。所以我在考慮是否可以添加回調,這將使我的工作變得輕鬆。
的流動應該是:
Socket連接邏輯
recv函數
的recv已讀出的數據之後,afterRecv被調用作爲回調上的recv
可用事件庫,你似乎被刨去重新編譯OpenSSL的來源,更換' recv()'通過你自己的版本(包裝原始的'recv()')來完成這項工作,不是嗎? – alk
@alk是的,這似乎是一個不錯的選擇。 – jshag
如果您願意使用C++,[boost ASIO](http://www.boost.org/doc/libs/1_54_0/libs/asio/)庫對事件驅動的I/O和SSL具有出色的支持。 –