IP地址、端口、TCP介绍、socket介绍、程序中socket管理

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

相关推荐
YC运维28 分钟前
LNMP架构(分离部署)PHP与数据库交互示例
数据库·架构·php
小白iP代理1 小时前
动态住宅IP vs. 静态数据中心IP:未来趋势与当前选择
网络·网络协议·tcp/ip
憧憬成为原神糕手1 小时前
Udp 和 Tcp socket的一般编程套路(笔记)
网络·tcp/ip·udp
LeoZY_2 小时前
开源超级终端PuTTY改进之:增加点对点网络协议IocHub,实现跨网段远程登录
运维·网络·stm32·嵌入式硬件·网络协议·运维开发
Q_Q5110082852 小时前
python+django/flask+springboot实践性教学系统 实训任务发布 学生作业提交 教师评阅管理系统
spring boot·python·django·flask·node.js·php
有趣灵魂3 小时前
在docker中容器使用iptables限制IP访问端口
服务器·tcp/ip·docker·容器
2501_915921433 小时前
HTTPS 映射如何做?(HTTPS 映射配置、SNI 映射、TLS 终止、内网映射与 iOS 真机验证实战)
android·网络协议·ios·小程序·https·uni-app·iphone
半桔4 小时前
【网络编程】UDP 编程实战:从套接字到聊天室多场景项目构建
linux·网络·c++·网络协议·udp
IT成长日记4 小时前
【LVS入门宝典】LVS NAT模式实战指南:ip_forward、iptables与SNAT、DNAT规则配置详解
linux·运维·tcp/ip·负载均衡·lvs·nat
浙江赛思电子科技有限公司4 小时前
赛思金融授时服务器 从《捕风追影》纳秒困局到数字安全,赛思以全链路时钟同步方案夯实时序安全底座
服务器·科技·网络协议·安全·金融·信息与通信