网络编程 day04

6. WebServer

6.1. 网页原码分析

  1. 初始化服务器
  2. 循环等待连接,连接后创建线程,调用线程函数 msg_request,在线程中调用 handler_msg 函数分析请求
  3. 在 handler_msg 函数中
     1. 先查看请求协议内容,其次获取请求方法、URL、参数
     2. 判断请求方法,对 need_handler 赋值
     3. 确定请求资源路径
      1. 请求地址没有携带资源,默认返回 index.html 文件
      2. 请求的资源不存在,返回 404
      3. 调用 echo_www 函数,直接返回资源
     4. 需要手动处理,调用handle_request 函数
  4. handle_request函数主要获取post数据,调用parse_and_process函数处理正文内容

6.2. 结合 Modbus 部分整体流程分析

在这里插入图片描述

  1. 网页/postman——WebServer:网页与网页服务器之间通过HTTP协议进行通信
     通过网页上的不同操作给服务器发送不同的请求,服务器根据收到的不同请求分析实现不同的功能
     服务器实现不同功能之后向网页发送不同的响应,网页根据不同响应完成数据的变化
  2. WebServer——Modbus采集程序:属于进程间的通信,数据采集通过共享内存来通信,对硬件设备的操作通过消息队列传输
     服务器从共享内存获取寄存器数据,通过消息队列向采集程序发送控制命令
     数据采集程序每隔1秒更新共享内存,阻塞等待服务器发送控制命令
  3. Modbus采集程序——寄存器:Modbus TCP实现采集程序和寄存器的通信

练习

通过postman 模拟浏览器,实现Modbus Slave 端数据采集和设备控制

  1. postman通过http协议向服务器发送请求
  2. 服务器收到请求后分析,根据post请求的请求正文来调用不同的函数,实现与采集程序的通信,获取数据或者发送指令
  3. 采集程序每秒向共享内存发送一次采集到的数据,阻塞等待服务器发送命令
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值