正确的 send recv 行为
生活随笔
收集整理的這篇文章主要介紹了
正确的 send recv 行为
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
在實現socket類時,
1) 最好把設置block, nonblock等函數作為內部接口, 不向外開放
2) 當指定發送/接受時間時, 正確/典型的編碼過程是:
?
? a) 確保設置為nonblock模式
? b) 異步發送;當未發送完全是循環發送;當發送出錯(EWOULDBLOCK, ENOBUF)時, select注冊FD_WRITE事件, select返回時判斷返回值確定是否可發送或者已經出錯或者超時
? c) 發送結束時, 恢復nonblock之前的狀態
?
?
接受也是如此操作。
?
?
對于另外兩種錯誤, 似乎也需要做如上處理: EINTR, EAGAIN
?
3) socket只向外提供發送接受操作的接口
?
------------------------------------------done-----------------------------------------------------------
總結
以上是生活随笔為你收集整理的正确的 send recv 行为的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: bogofilter notes
- 下一篇: clustering