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