(一)socket概念
網絡進程間通訊,兩個進程需唯一確定,網絡層的“IP地址”可以唯一標識網絡主機,傳輸層的“IP+端口號”可以唯一確定網絡間兩進程。
標識網絡兩進程後,進行通訊一般是利用socket。
socket源於unix,延續了“一切皆文件”的概念,都使用“打開-》讀寫-》關閉”文件操作的方式。
socket處於傳輸層和應用層之間,關係如下圖所示。
(二)socket通訊過程
server:socket->bind->listen->accept->receive->close
client:socket->connect->send->close
server端需要獲取ip和綁定端口號,讓client調用,所以需要bind和listern;client的端口號在connect的時候綁定端口號。
(三)socket建立連接過程
同TCP/IP三次握手建立連接
運用抓包工具,可以看到我訪問博客http://blog.csdn.net/wangpeifeng669時候的三次握手情況
(四)socket釋放過程
四次釋放釋放連接
java的socket連接demo參考這裏
截圖來自: