socket 通常也稱作"套接字",用于描述 IP 地址和端口儒旬,是一個通信鏈的句 柄栏账,應(yīng)用程序通常通過"套接字"向網(wǎng)絡(luò)發(fā)出請求或者應(yīng)答網(wǎng)絡(luò)請求。
socket 起源于 Unix栈源,而 Unix/Linux 基本哲學(xué)之一就是“一切皆文件”挡爵,對 于文件用【打開】【讀寫】【關(guān)閉】模式來操作。socket 就是該模式的一個實現(xiàn)甚垦,socket 即是一種特殊的文件茶鹃,一些 socket 函數(shù)就是對其進(jìn)行的操作(讀/ 寫 IO、打開艰亮、關(guān)閉)
socket 和 file 的區(qū)別:
file 模塊是針對某個指定文件進(jìn)行【打開】【讀寫】【關(guān)閉】
socket 模塊是針對 服務(wù)器端 和 客戶端 Socket 進(jìn)行【打開】【讀寫】【關(guān) 閉】
socket 啟動監(jiān)聽的過程就是:
創(chuàng)建 socket bind 端口
開始監(jiān)聽
建立連接+繼續(xù)監(jiān)聽
流程為:
socket client 發(fā)起連接
創(chuàng)建接口 發(fā)起連接
創(chuàng)建接口參數(shù)同 socket server 相同 發(fā)起連接的函數(shù)為 socket.connect(ip,port)
這個地方的 ip 與 port 為 socket server 端的 ip 和監(jiān)聽 port