
网络编程
文章平均质量分 75
申屠武
这个作者很懒,什么都没留下…
展开
-
modbus 函数
modbus库(1)创建实例(2)设置从机id(3)建立连接(4)寄存器操作(5)释放mudbus 实例(6)关闭套接字实现 03功能:读当或多个保持寄存器编程实现采集传感器数据和控制硬件设备(传感器和硬件通过slave模拟)原创 2024-07-22 21:17:52 · 517 阅读 · 1 评论 -
modbus RTU
Modbus RTU也是主从问答协议,由主机发起,一问一答。ModbusRTU数据帧包含:从站地址码 功能码 数据 校验码地址码:从机 ID功能码:同 TCP数据:起始地址 数量 数据校验码:2个字节,对 地址码 功能码 数据进行校验,可以通过函数自动生成原创 2024-07-22 20:57:44 · 387 阅读 · 0 评论 -
modbus TCP
Modbus通信协议具有多个变种,其中有支持串口,以太网多个版本,其中最著名的是Modbus RTU、Modbus ASCII和Modbus TCP三种。离散量和线圈其实就是位寄存器(每个寄存器数据占1字节),工业上主要用于控制IO设备。输入和保持寄存器是字寄存器(每个寄存器数据占2个字节),工业上主要用于存储工业设备的值。ModbusTcp协议包含三部分:报文头、功能码、数据原创 2024-07-22 20:49:11 · 1310 阅读 · 0 评论 -
UDP聊天室
利用UDP协议,实现一套聊天室软件。服务器端记录客户端的地址,客户端发送消息后,服务器群发给各个客户端软件。类似于微信群聊。原创 2024-07-16 20:10:43 · 519 阅读 · 0 评论 -
网络-三次握手,四次挥手
第一次握手都由客户端发起在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接。注意三次握手只是用来建立连接用的,和TCP可靠稳定没有关系,TCP的可靠是通过重传和检错等机制实现的。四次挥手既可以由客户端发起,也可以由服务器发起四次挥手也就是客户端与服务器断开连接时,需要一共发送四个报文段来完成断开TCP连接。原创 2024-07-16 17:21:49 · 785 阅读 · 0 评论 -
网络-TCP服务器实现FTP仿写功能
项目功能介绍:均有服务器和客户端代码,基于TCP写的。客户端和服务器链接成功后出现以下提示:四个功能***************list**************//列出服务器所在目录下的普通文件名***********put filename**********//从客户端所在路径上传文件***********get filename**********//从服务器所在路径下载文件**************quit***************//退出(可只退出客户端,原创 2024-07-13 16:18:16 · 1022 阅读 · 0 评论 -
服务器模型--并发服务器--多进程服务器与多线程服务器
并发服务器:一个服务器同一时间可以连接多个客户端多进程:优点:服务器更稳定,父子进程资源独立,安全性高缺点:需要开辟多个进程,大量消耗资源,系统开销大多线程:优点:相对于多进程,资源开销小,多个线程共享同一个进程的资源缺点:需要开辟多个线程,安全性较差原创 2024-07-12 20:26:39 · 401 阅读 · 1 评论 -
服务器模型--IO多路复用--select--并发服务器
○ 先构造一张有关描述符的表(最大1024),然后调用一个函数。○ 当这些文件描述符中的一个或多个已准备好进行 I/O时函数才返回。○ 函数返回时告诉进程哪个描述符已就绪,可以进行 I/O操作。要求:用select创建并发服务器,可以与多个客户端进行通信(监听键盘、socket、多个acceptfd)原创 2024-07-12 19:44:12 · 599 阅读 · 0 评论 -
网络模型--IO多路复用
比较好的方法是使用 I/O多路复用技术。其(select)基本思想是:○ 先构造一张有关描述符的表(最大1024),然后调用一个函数。○ 当这些文件描述符中的一个或多个已准备好进行 I/O时函数才返回。○ 函数返回时告诉进程哪个描述符已就绪,可以进行 I/O操作。构造一张关于文件描述符的表 fd_set 清空表 FD_ZERO将关心的文件描述符添加到表中 FD_SET调用 select函数,监听判断是哪一个或者哪些文件描述符发生了事输入鼠标的时候, 响应鼠标事件, 输入原创 2024-07-12 19:26:54 · 404 阅读 · 0 评论 -
网络IO模型-信号驱动IO/异步IO
异步通知:异步通知是一种非阻塞的通知机制,发送方发送通知后不需要等待接收方的响应或确认。通知发送后,发送方可以继续执行其他操作,而无需等待接收方处理通知。1. 通过信号方式,当内核检测到设备数据后,会主动给应用发送信号SIGIO。2. 应用程序收到信号后做异步处理即可。3. 应用程序需要把自己的进程号告诉内核,并打开异步通知机制。异步io实现,当终端输入内容时,进程获取内容并从终端输出,当没有内容输入时,进程循环输出hello。原创 2024-07-11 19:27:12 · 306 阅读 · 0 评论 -
网络-非阻塞IO模型
轮询、耗费CPU,可以处理多路IO通过设置文件描述符的属性,把文件描述符的属性设置为非阻塞步骤:(1)获取文件描述符的属性(2)修改文件描述符的属性(3)设置文件描述符的属性因为文件描述符的属性中,二进制的每一位都表示一种属性,我们要修改其中一种属性,还得保证其他属性不能改变,可以通过位或操作,只改变其中一位二进制数,然后把修改后的的属性再设置回去。原创 2024-07-11 19:17:48 · 332 阅读 · 0 评论 -
网络-阻塞IO模型
最常见、效率低、不耗费cpu阻塞I/O 模式是最普遍使用的I/O 模式,大部分程序使用的都是阻塞模式的I/O 。缺省情况下(及系统默认状态),套接字建立后所处于的模式就是阻塞I/O 模式。丢包、粘包、拆包原创 2024-07-11 19:08:38 · 683 阅读 · 0 评论 -
网络-UDP通信
全双工通信、面向无连接、不可靠UDP(User Datagram Protocol)用户数据报协议,是不可靠的无连接的协议。在数据发送前,因为不需要进行连接,所以可以进行高效率的数据传输。服务器:1. 创建数据报套接字 socket2. 填充网络信息3. 绑定 bind4. 发送接收消息 sendto/recvfrom5. 关闭套接字 close客户端:1. 创建数据报套接字 socket2. 指定网络(服务器)信息3. 发送接收消息 sendto/recvfrom原创 2024-07-10 19:38:21 · 912 阅读 · 0 评论 -
网络连接-TCP通信连接
// 服务器:// 1.创建流式套接字 socket()// 2.指定本地的网络信息 struct sockaddr_in// 3.绑定套接字 bind()// 4.监听套接字 listen()// 5.链接客户端的请求 accept()// 6.接收/发送数据 recv()/send()// 7.关闭套接字 close()// 客户端:// 1.创建流式套接字 socket()// 2.指定服务器的网络信息原创 2024-07-10 19:24:39 · 1106 阅读 · 0 评论 -
网络编程-TCP/IP
TCP:流式套接字,面向连接的,可靠的通信UDP:数据报套接字,无连接的,不可靠的通信TCP(即传输控制协议):是一种面向连接的传输层协议,它能提供高可靠性通信(即数据无误、数据无丢失、数据无失序、数据无重复到达的通信)。UDP(User Datagram Protocol)用户数据报协议,是不可靠的无连接的协议。在数据发送前,因为不需要进行连接,所以可以进行高效率的数据传输。原创 2024-07-10 19:13:59 · 1456 阅读 · 0 评论 -
网络编程基础知识
ip地址,子网掩码,网络号,主机号,网络模型,TCP/IP模型,OSI模型端口号,字节序,端口转换,ip地址转换,TCP/UDP,socket套接字原创 2024-07-09 20:13:42 · 1118 阅读 · 0 评论