回答
從OpenGroup定義的write():
成功完成後,寫() [XSI]和pwrite()應當返還 數量實際上寫入 文件的字節與fildes關聯。這個 的數字永遠不會大於 nbyte。否則,返回-1將返回 ,並設置errno來指示錯誤。
同樣的事情對發送完成() - OpenGroup頁的send()
你會發現通過查看錯誤號的詳細信息。有關更多信息,請參閱errno上的OpenGroup頁面。
這裏的成功完成是什麼?將數據寫入內核緩衝區或TCP從遠程端接收數據的確認? – Blacklabel 2010-11-11 00:33:18
成功寫入內核緩衝區。 – 2010-11-11 00:37:04
@Blacklabel - 來自send()頁面:「成功完成對send()的調用並不保證消息的傳遞。返回值-1表示只有本地檢測到的錯誤。」 – 2010-11-11 00:48:41
您的具體點 - 如果你寫呼叫阻塞,(因爲是默認值),溢出只想塊你,直到有可用的緩衝空間。
如果寫電話是無阻塞和緩衝區都滿了,你會收到一個錯誤。
- 1. file_get_contents('php:// input')在發送通過url參數時返回空值
- 2. 通過c socket發送結構
- 3. 通過socket perl發送文件(圖片)
- 4. 通過Socket發送文件(iOS)
- 5. 通過ADB發送數據
- 6. 通過JSON發送數據
- 7. 通過回發發送兩個參數
- 8. 通過WCF回調發送業務對象時發生超時
- 9. 如何確保Socket發送數據?
- 10. 當MySql數據庫條目發生變化時發送通知
- 11. 每當數據瀏覽器發生變化時發送推送通知
- 12. Laravel Ajax Input :: all()通過FormData發送時返回空值
- 13. 無法通過unix tcp socket發送二進制數據
- 14. 通過socket發送的圖像作爲二進制數據
- 15. 通過SSL發送請求時無法發佈文件數據
- 16. 發送數據與推送通知 - 不返回整個推
- 17. 當發佈新的GitHub發行版回購時,通過推送API或Push-bullet發送通知?
- 18. 僅當wifi上的數據通過手機數據發送數據時
- 19. 如何通過程序發送返回(輸入按鈕)字符
- 20. 當Firebase實時數據庫節點更新時發送推送通知
- 21. 發送數據時出錯
- 22. 發送實時數據流
- 23. 在通過ajax發送數據時,數據會丟失
- 24. 如何通過json發送extjs數據
- 25. queque如何通過POST發送數據?
- 26. 如何通過QUIC發送數據
- 27. 如何通過url.openStream()發送POST數據?
- 28. 發送文件時,燒瓶返回404
- 29. NodeJS + Socket IO發送太多數據
- 30. 在通過FCM發送時未收到推送通知,但在IOS上通過APN發送時收到
-1程序和編程通常通常表示運行時錯誤。 – 2010-11-11 00:43:24