1.直接close:客戶端接收數(shù)據(jù)不完整,本地系統(tǒng)關(guān)閉socket,客戶端收不到完整數(shù)據(jù)
2.shutdown_both:客戶端接收數(shù)據(jù)不完整,end of file
3.shutdown_receive: 客戶端接收數(shù)據(jù)完整
3.shutdown_send: 客戶端接收數(shù)據(jù)不完整,遠(yuǎn)程主機(jī)關(guān)閉鏈接
關(guān)閉socket,但是確保對端一定收到數(shù)據(jù)的手段是:
1.shutdown_receive,同時在應(yīng)用層確認(rèn)全部數(shù)據(jù)已經(jīng)投遞到tcp堆棧,然后調(diào)用close
2.設(shè)計應(yīng)用層關(guān)閉協(xié)議,由接收方主動關(guān)閉