通過setsockopt :SO_LINGER 選項可以指定函數close對面向連接的協議如何操作。
內核缺省close操作是立即返回,如果有數據殘留在套接口緩衝區中則系統將試着將這些數據發送給對方。
但是如果close時,接收緩衝區有未接收數據,則操作系統會直接發送RST報文結束鏈接,也就是說TCP鏈接不會優雅關閉。
所以,如果希望鏈接被優雅關閉,應在接受完緩衝區內的所有數據後再調用close。
通過setsockopt :SO_LINGER 選項可以指定函數close對面向連接的協議如何操作。
內核缺省close操作是立即返回,如果有數據殘留在套接口緩衝區中則系統將試着將這些數據發送給對方。
但是如果close時,接收緩衝區有未接收數據,則操作系統會直接發送RST報文結束鏈接,也就是說TCP鏈接不會優雅關閉。
所以,如果希望鏈接被優雅關閉,應在接受完緩衝區內的所有數據後再調用close。
利用getsockname()獲得sockaddr,在強轉成sockaddr_in結構體。裏面就包含了IP和端口信息。 getpeername()
首先非常感謝 xiaodi2007 的分享,地址如下 :http://bbs.chinaunix.net/thread-4094008-1-1.htm
用curl的時候遇到用POST發送的內容裏面有單引號會有問題,用斜槓轉義也不行,後來找到一種方法,用\u0027代替單引號就沒問題了。