在计算机网络中发送电子邮件遵循的协议是,一、计算机网络刷题
connect
函數返回錯誤ECONNREFUSED:
如果對客戶的SYN的響應是RST,則表明該服務器主機在我們指定的端口上沒有進程在等待與之連接(例如服務器進程也許沒有啟動),這稱為硬錯(hard error),客戶一接收到RST,馬上就返回錯誤ECONNREFUSED.
TCP為監聽套接口維護兩個隊列。兩個隊列之和不超過listen函數第二個參數backlog。
當一個客戶SYN到達時,若兩個隊列都是滿的,TCP就忽略此分節,且不發送RST.這個因為:這種情況是暫時的,客戶TCP將重發SYN,期望不久就能在隊列中找到空閑條目。要是TCP服務器發送了一個RST,客戶connect函數將立即返回一個錯誤,強制應用進程處理這種情況,而不是讓TCP正常的重傳機制來處理。這樣客戶區別不了這兩種情況:作為SYN的響應,意為“此端口上沒有服務器”的RST還是意為“有服務器在此端口上但其隊列滿”的RST.
?有以下兩種處理方法:忽略新的SYN,或為此SYN響應一個RST。
往一個對端已經關閉的套接字上寫入數據會收到一個RST信號
如果此時不判斷read , write函數的返回值,就不知道服務器是否響應了RST,?此時客戶端如果向接收了RST的套接口進行寫操作時,內核給該進程發一個SIGPIPE信號。此信號的缺省行為就是終止進程,所以,進程必須捕獲它以免被終止。
服務器主機崩潰后重啟
如果服務器主機與客戶端建立連接后崩潰,如果此時,客戶端向服務器發送數據,而服務器已經崩潰不能響應客戶端ACK,客戶TCP將持續重傳數據分節,試圖從服務器上接收一個ACK,如果服務器一直崩潰客戶端會發現服務器已經崩潰或目的地不可達,但可能需要比較長的時間;?如果服務器在客戶端發現崩潰前重啟,服務器的TCP丟失了崩潰前的所有連接信息,所以服務器TCP對接收的客戶數據分節以RST響應。
物理層中繼系統:轉發器(repeater)。
·?????????數據鏈路層中繼系統:網橋或橋接器(bridge)。網橋、交換機、網卡等設備都有自己獨立的MAC地址,因此都工作在數據鏈路層
·?????????網絡層中繼系統:路由器(router)。
·?????????網橋和路由器的混合物:橋路器(brouter)。
·?????????網絡層以上的中繼系統:網關(gateway)。
總結
以上是生活随笔為你收集整理的在计算机网络中发送电子邮件遵循的协议是,一、计算机网络刷题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java 如何将数字倒置_每日一个小算法
- 下一篇: java se 开发web程序_JDiy