1.直接close:客戶端接收數據不完整,本地系統關閉socket,客戶端收不到完整數據
2.shutdown_both:客戶端接收數據不完整,end of file
3.shutdown_receive: 客戶端接收數據完整
3.shutdown_send: 客戶端接收數據不完整,遠程主機關閉鏈接
關閉socket,但是確保對端一定收到數據的手段是:
1.shutdown_receive,同時在應用層確認全部數據已經投遞到tcp堆棧,然后調用close
2.設計應用層關閉協議,由接收方主動關閉