Tcp 通信简单demo思路

Server 端
-------------------------- 初始化部分 -------------------------------
1.创建监听套接字: 使用socket(协议家族,套接字的类型,0)
套接字类型有 SOCK_STREAM:表示面向连接的套接字(Tcp协议);
SOCK_DGRAM:表示无连接的数据报套接字(Udp协议);
当指定具体使用的协议之后,第三个参数一般传0.
**2.保存套接字地址:**一般IPV4协议类型使用的是struct sockaddr_in套接字地址类型
struct sockaddr_in
{
sin_family; // 保存协议类型
sin_port; // 保存端口号 (一般从外部传进来) 注意要转成网络字节序
sin_addr; // 保存要绑定的ip地址 (0.0.0.0可以响应其他主机连接任意本地ip)
// 注意要字符串转点分式十进制整数类型且要保证网络字节序
}
**3.将套接字地址绑定到套接字:**bind(_listenfd, (const struct sockaddr*), socklen_t);
**4.监听套接字:**listen(sockfd, backlog);
-------------------------- 运行部分 -----------------------------------
5.创建套接字地址(用于保存客户端套接字地址);
6.从监听套接字上接收客户端的连接请求;int sockfd = accept(_listenfd, ...);
7.进行通信!!! TCP协议可以直接使用write和read系统调用实现跨网络的进程间通信
Client 端
-------------------------- 初始化部分 -------------------------------
1.需要从外部传入server的ip和端口号
2.创建套接字; client不需要为自己的套接字显示绑定套接字地址,而是由操作系统在请求连接的时候默认分配;
3.解析外部传入的server套接字地址并保存到栈区
4.请求连接: connect(sockfd, (const struct sockaddr*), socklen_t );
5.进行通信!!! TCP协议可以直接使用write和read系统调用实现跨网络的进程间通信

相关推荐
乌萨奇也要立志学C++6 小时前
【Linux】网络基础 从零理解网络通信:局域网、跨网传输与 Socket 预备知识
linux·服务器·网络
网络研究院7 小时前
Cloudflare 推出 Precursor 行为监测系统,全会话追踪技术引爆 AI 机器人防御战与隐私新争议
网络·人工智能·机器人·系统·cloudflare·反爬虫
Bruce_Liuxiaowei9 小时前
轻量级 IOC 管理方案:Streamlit 驱动的恶意IP情报平台
网络·jvm·网络协议·tcp/ip·安全
2601_965798479 小时前
Is Hygia Good for Maid & Janitorial Sites? Technical Audit
服务器·网络·数据库
蚰蜒螟10 小时前
从内核源码看Linux启动:chroot、execve与MS_MOVE的协奏曲
linux·服务器·网络
Dawn-bit12 小时前
Linux磁盘分区与Swap和磁盘故障查询
linux·运维·服务器·网络·云计算
無识13 小时前
策略路由练习实验
网络
llilian_1614 小时前
便携式相位测量模块应用方案的核心优势
网络·功能测试·单片机
QH1392923188014 小时前
# R&S ZNB43 ZNA43 ZNA67矢量网络分析仪
开发语言·网络·php
栋***t14 小时前
2026年不止防作弊,麦塔在线培训系统培训与考试安全的体系化设计
网络·安全