1、IP地址:IP 地址就是 標識網絡中設備的一個地址,好比現實生活中的家庭地址。IP 地址的作用是 標識網絡中唯一的一臺設備的,也就是說通過IP地址能夠找到網絡中某臺設備。
2、端口:代表不同的進程,如下圖:
3、socket:進程之間 網絡數據的傳輸可以通過 socket 來完成,socket 就是進程間網絡數據通信的工具
4、套接字socket的創建和IP\端口號沒有關系,如下:
創建一個 TCP 套接字
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
4.1、TCP套接字的名字SOCK_STREAM。UDP套接字的名字SOCK_DGRAM,協議族:AF_INET;
5、做個比喻,套接字就像一個手機,主機名和端口號就像區號和號碼。
當程序之間需要通信時,需要知道對端的主機名(IP)和端口號。
所以一個ip可以匹配好多的端口號;
有效的端口號范圍為0~65535(小于1024的端口號預留給了系統)
6、程序中socket管理:
6.1、開hi初始化:netTCP_GetSocket的返回值是1,2,3,4…順序增加的;創建TCP_SOCKET_CFG全局變量,里面對應保存套接字的信息
6.2、在socket回調函數中維護TCP_SOCKET_CFG全局變量,當網絡鏈接成功,則保存當前socket對應的IP和端口;當網絡斷開之后初始化對應的socket