天天看點

套接字(socket) 端口

       套接字(socket):Socket可以看成在兩個程式進行通訊連接配接中的一個端點,一個程式将一段資訊寫入Socket中,該Socket将這段資訊發送給另外一個Socket中,使這段資訊能傳送到其他程式中。

套接字,是支援TCP/IP的網絡通信的基本操作單元,可以看做是不同主機之間的程序進行雙向通信的端點,簡單的說就是通信的兩方的一種約定,用套接字中的相關函數來完成通信過程。

非常非常簡單的舉例說明下:Socket=Ip address+ TCP/UDP port。

       端口:"端口"是英文port的意譯,可以認為是計算機與外界通訊交流的出口。其中硬體領域的端口又稱接口。

在Internet上,各主機間通過TCP/IP協定發送和接收資料包,各個資料包根據其目的主機的ip位址來進行網際網路絡中的路由選擇。可見,把資料包順利的傳送到目的主機是沒有問題的。問題出在哪裡呢?我們知道大多數作業系統都支援多程式(程序)同時運作,那麼目的主機應該把接收到的資料包傳送給衆多同時運作的程序中的哪一個呢?顯然這個問題有待解決,端口機制便由此被引入進來。

本地作業系統會給那些有需求的程序配置設定協定端口(protocol port,即我們常說的端口),每個協定端口由一個正整數辨別,如:80,139,445,等等。當目的主機接收到資料包後,将根據封包首部的目的端口号,把資料發送到相應端口,而與此端口相對應的那個程序将會領取資料并等待下一組資料的到來。

繼續閱讀