|
高士涛-学习日报 |
||||||||
|
姓名 |
高士涛 |
日期 |
2023/05/15 |
部门 |
云服务业务部 |
导师 |
王晓明 |
|
|
学习工作内容 |
||||||||
|
C语言实现TCP通信的技术分析 |
||||||||
|
1. 实现TCP连接主要步骤:
2. C语言实现TCP通信的基本步骤如下: • 创建套接字(socket):使用socket函数创建一个文件描述符,指定地址族(AF_INET)、套接字类型(SOCK_STREAM)和传输协议(IPPROTO_TCP)。 • 绑定地址和端口(bind):使用bind函数将套接字与服务器的IP地址和端口号绑定,用sockaddr_in结构体存储套接字信息。 • 监听连接请求(listen):使用listen函数将套接字设置为监听状态,指定请求队列的最大长度。 • 接受连接请求(accept):使用accept函数等待客户端的连接请求,返回一个新的套接字文件描述符,用于与客户端通信。 • 发送和接收数据(write/read):使用write和read函数在服务器和客户端之间发送和接收数据,也可以使用send和recv函数。 • 关闭套接字(close):使用close函数关闭套接字,释放资源。 3. 主机字节序和网络字节序 主机字节序:不同的芯片,所采用的数值存储方式是不同:大端模式&小端模式 网络字节序:统一使用大端模式来表示数据 字节序的转化
4. 套接字的地址结构 运行在两个不同主机上的进程想要通信:IP地址
端口号 在网络中用来描述计算机中不同程序与其他计算机程序的通信方式。socket其实是一种特殊的IO接口,也是一种文件描述符。 套接字分为三类: 流式socket(SOCK_STREAM):流式套接字提供可靠、面向连接的通信流;它使用TCP协议,从而保证了数据传输的正确性和顺序性。 数据报socket(SOCK_DGRAM):数据报套接字定义了一种无连接的服务,数据通过相互独立的保温进行传输,是无序的,并且不保证是可靠、无差错的。它使用的数据报协议是UDP。 原始socket:原始套接字允许对底层协议如IP或ICMP进行直接访问,它功能强大但使用复杂,主要用于一些协议的开发。 【参考链接:C语言实现TCP通信(服务端与客户端)_c语言tcp_夏小泡泡#的博客-CSDN博客】 【参考链接:C语言实现TCP通信_tcp通信程序c语言_菜鸟lr的博客-CSDN博客】 【参考链接:C语言实现TCP编程_c tcp_愚蠢的土拨鼠。的博客-CSDN博客】 |
||||||||
|
遗留问题 |
||||||||
|
|
||||||||
|
明日计划 |
||||||||
|
继续深入学习 |
||||||||