基于tcp c/s的网络通信

TCP(即传输控制协议):是一种面向连接的传输层协议,它能提供高可靠性通信(即数

据无误、数据无丢失、数据无失序、数据无重复到达的通信)

tcp协议特点:

  1. 面向连接 //类似打电话通话之前 ,必须先打通

  2. 可靠传输 //保证数据准确可靠 (tcp协议机制 里面的功能 )

  3. 面向字节流程

tcp 客户端:

1.建立通信

socket

bind (可选)

connect

2.通信过程

read

write

close

tcp服务器:

1.建立连接

socket

bind

listen

accept

.....

2.通信过程

read

write

close

tcp编程:

客户端:

1、int socket(int domain, int type, int protocol);

2、int connect(int sockfd, const struct sockaddr *addr, socklen_t addrlen);

功能:该函数固定有客户端使用,表示从当前主机向目标

主机发起链接请求。

参数:sockfd 本地socket创建的套接子id

addr 远程目标主机的地址信息。

addrlen: 参数2的长度。

返回值:成功 0

失败 -1;

服务器:

1、int socket(int domain, int type, int protocol);

2、int bind(int sockfd, struct sockaddr *my_addr,

socklen_t addrlen);

功能:如果该函数在服务器端调用,则表示将参数1相关

的文件描述符文件与参数2 指定的接口地址关联,

用于从该接口接受数据。

如果该函数在客户端调用,则表示要将数据从

参数1所在的描述符中取出并从参数2所在的接口

设备上发送出去。

注意:

如果是客户端,则该函数可以省略,由默认

接口发送数据。

参数:

sockfd 之前通过socket函数创建的文件描述符,套接字id

my_addr 是物理接口的结构体指针。表示该接口的信息。

3,、int listen(int sockfd, int backlog);

功能:监听客户端给的需求

4、int accept(int sockfd, struct sockaddr *addr, socklen_t *addrlen);

功能:接听 ---这一步完成之后 连接就建立好了,之后就可以收发数据

相关推荐
CHANG_THE_WORLD12 小时前
TCP 三次握手彻底解析:SYN、ACK、SEQ、确认号与状态迁移
网络·网络协议·tcp/ip
2501_9151063212 小时前
TraceEagle 代理抓包教程 本机和手机的 HTTPS 抓包方法
网络协议·计算机网络·网络安全·ios·adb·https·udp
小心我捶你啊13 小时前
数据采集和Web解锁不是一回事,从用途到规则区分
前端·爬虫·网络协议
DLYSB_13 小时前
基于 HTTP API 与 Modbus 协议的多源监控声光语音联动告警系统设计与实现
网络·网络协议·http·报警灯
Bobolink_14 小时前
手机端和电脑端的网络环境配置有什么不同?
网络·智能手机·电脑·网络环境
星恒讯工业路由器15 小时前
三大工业以太网协议选型对比
网络·物联网·ethercat·profinet·ethernet/ip·工业以太网协议
春卷同学15 小时前
HarmonyOS掌上记账APP开发实践第25篇:Image 组件高级用法 — 资源引用、网络图片与首字符占位方案
网络·华为·harmonyos
mounter62515 小时前
从内存隔离到运行时防线:透视 Linux 内核安全强化的博弈与演进
linux·网络·安全·linux kernel·kernel
Bug退散师17 小时前
多路IO复用[select版TCP服务器与poll版TCP服务器]与常用网络编程函数详解
linux·服务器·c语言·网络·驱动开发·tcp/ip
Acrellea18 小时前
固态变压器(SST)热管理破局:安科瑞交直流专属测温方案护航无人值守运维
运维·网络