這些限制給網路應用帶來了問題,因為在對套接字使用lseek是非法的。如果說第乙個限制我們可以在每個輸入函式之前插入重新整理緩衝區的函式來避免,而第二個限制的滿足要求對同乙個開啟的套接字描述符開啟兩個流,乙個用來寫,乙個用來讀:
file *fpin,
*fpout;
fpin =
fdopen
(sockfd,
"r")
;fpout =
fdopen
(sockfd,
"w")
;
但是,這樣要求應用程式在結束時需要在兩個流上呼叫 fclose函式:
fclose
(fpin)
;fclose
(fpout)
;
以上兩條語句都試圖關閉同乙個底層的套接字描述符,所以第二條語句肯定會失敗。對順序執行的程式一般問題不大,但對執行緒化的程式來說,關閉乙個已經關閉的描述符是會導致災難性後果的。
因此,建議在網路套接字上不適應用標準io函式,而要使用健壯的rio函式。
嵌入式linux&arm
csdn部落格
I O復用 各種不同的IO模型
我們看到上面的tcp客戶同時處理兩個輸入 標準輸入和tcp套接字。我們遇到的問題就是在客戶阻塞於 標準輸入上的 fgets呼叫期間,伺服器程序會被殺死。伺服器tcp雖然正確地給客戶tcp傳送乙個fin,但是既然客戶程序阻塞於從標準輸入讀入的過程,它將看不到這個rof,知道從套接字讀時為止 可能已經過...
軒轅展覽 企業展廳設計材料的選用原則
企業展廳設計材料是展示空間設計的物質基礎,只有讓各種材料在各項屬性基礎上巧妙 創意地搭配,才能更加吸引參觀者的注意力,更廣泛地傳達展示主題資訊。企業展廳設計公司軒轅展覽的小編給大家介紹 一 企業展廳設計材料安全原則 安全永遠是第一要務,無論是參觀者 主辦方的安全,還是展品 展示道具等的安全。因此在企...
上拉電阻,下拉電阻的含義,作用及選用原則
上拉電阻,下拉電阻的含義,作用及選用原則 在數位電路中不用的輸入腳都要接固定電平,通過1k電阻接高電平或接地。1 定義 上拉就是將不確定的訊號通過乙個電阻嵌位在高電平!電阻同時起限流作用!下拉同理!上拉是對器件注入電流,下拉是輸出電流 弱強只是上拉電阻的阻值不同,沒有什麼嚴格區分 對於非集電極 或漏...