設備異常情況:
1、對方套接字被關閉;
2、對方系統異常重啓;
3、對方機器異常斷電。
異常出現時另一端相應情況:
1、對方套接字被關閉:本地對應套接字讀、寫接口收到錯誤響應,本地根據響應做相關處理;
------只適應TCP機制:因爲UDP沒有conncet過程(就算有的代碼有,也只是指定UDP信息連接端,這樣可以直接使用TCP的recv(read)和sendto(write)接口)。
2、對方系統異常重啓:本地對應套接字讀、寫接口收到錯誤響應,本地根據響應做相關處理;
-------只適應TCP機制:因爲UDP沒有conncet過程(就算有的代碼有,也只是指定UDP信息連接端,這樣可以直接使用TCP的recv(read)和sendto(write)接口)。
3、對方機器異常斷電 :套接字的select讀、寫延時等待超時,本地做出對應響應。
-------適合UDP + TCP:因爲對方斷電後,本地套接字在設定的時間內沒有收到預定好的消息,則會提示超時,這是本地可以判斷對方機器出現了異常,需要進行檢查。
運用場景:
1、可以使用在需要實時服務的設備上:
a、可以在設備異常時,及時通過某種機制告訴【用戶】和【維修人員】,進行設備的檢查 和 維修;
b、只要設備運行時,就按前期設置主動進行握手,並進行交互,無需人員參與,自動完成,保證設備的最大使用效率。
使用到的關鍵函數接口:
setsocketop():
1、設置延時機制;
2、設置端口在進程斷開是馬上可以重新使用;
select():
設置等待響應機制: