貼圖**
讀/寫while
((n =
read
(sockfd, recvline, maxline)
)>0)
使用read函式讀取伺服器返回的資料。函式返回值為實際讀取的位元組數;若未讀取到資料,返回負值。
從使用read函式也可以看出,linux將通訊裝置看作"檔案"來處理,伺服器返回的資料會先存放在該"檔案"中,通過read系統呼叫來讀取這些資料。在傳送資料時,我們通過wirte系統呼叫往某類似"檔案"中寫入資料,再由作業系統將"檔案"中的資料傳送出去。關閉套接字
if
(close
(sockfd)==-
1)err_sys
("close error"
);
不同實驗環境
主要的差異在於ip位址。
前兩種環境下,繫結的ip即主機或虛擬機器的ip,可以使用ifconfig命令
第三種環境下,繫結的為伺服器的公網ip,同時注意防火牆是否開啟了對應的埠(或者直接關閉防火牆)
UNIX網路程式設計
在unix network programming 的 3.7 inet pton and inet ntop functions 中提到中有如下兩個巨集定義 define inet addrstrlen 16 for ipv4 dotted decimal define inet6 addrstr...
unix網路程式設計
任何tcp的實現都需要為msl選擇乙個合適的值,rfc的建議值是2分鐘。分組可能出現迷途,若迷途分組在msl中找到路,造成重複,tcp必須修復 time wait存在的理由 可靠的實現全雙工的連線和終止 考慮最終ack丟失的情況,允許老的重複分組在網路中消逝 tcp的化生身現象,因為time wai...
Unix網路程式設計實踐 時間獲取客戶程式
對於乙個初學者來說,把多個標頭檔案封裝到unp.h不是很方便學習,遂擴充套件於此。daytimetcpcli.c檔案如下 include include include include include include include include define maxline 256 int ma...