當前位置:編程學習大全網 - 源碼破解 - 請教linux下socket編程中send函數如何強制其將數據發出去

請教linux下socket編程中send函數如何強制其將數據發出去

在多線程編程中其中使用壹個線程來accept要連接的客戶端。同時在接受client的請求之後新建壹個線程來進行具體的操作。其操作包括向client端發送壹定字節的數據,使用send()函數來進行操作。如果在發送過程中出現任何壹個client端的斷線,則整個程序都會退出。

ssize_t send(int sockfd, const void *buff, size_t nbytes, int flags);

關於Linux命令的介紹,看看《linux就該這麽學》,具體關於這壹章地址3w(dot)linuxprobe/chapter-02(dot)html

上面為send函數原型,在通常的使用中flags參數壹般設置為0.此時如果客戶端斷開,繼續往裏邊寫數據的話,會引發壹個信號SIGPIPE,此信號會引發線程的退出、

解決的方法:1)可以將flags參數設置為MSG_NOSIGNAL。2)設置SIG_IGN信號處理函數。

  • 上一篇:銀行實習報告心得體會
  • 下一篇:求photoshopcs6初、高級視頻教程 謝謝
  • copyright 2024編程學習大全網