IOCP 框架的启动流程如图6 所示。

LED屏无线控制器的设计方案

IOCP 框架的实现步骤如下:

(1)初始化Winsock 工作环境,并创建完成端口,创建完成端口线程,建立一个监听套接字,使套接字与完成端口关联起来;

(2)监听套接字开始工作,当监听套接字接收到客户端TCP 的连接请求时,IOCP 会获取并处理该消息,创建对应的Socket 对象进行接收处理,完成连接工作;

(3)当客户端完成TCP 连接后,可以开始数据通信,由I/O 线程来负责分发I/O 请求,通过线程池来分配逻辑处理环境;

(4)在接收数据后,将微软提供的一个I/O 数据结构(WSAOVERLAPPED)进行扩展,完成协议解析和数据处理。

此外,这里的线程池只是一个管理队列,用于处理线程资源的管理, 用最少的线程完成最大业务逻辑的处理。真正执行的线程函数也不完成详细的业务处理,仅仅完成对I/O 请求的再调用,而由虚函数实现I/O 请求的再处理。

为了提高软件的友好性, 框架采用Windows 的消息机制,与UI 进行交互,通过窗口消息将框架的相关信息传递给UI 窗口。因此在框架中保留了一个指针成员, 并在需要的时候通过该指针调用消息响应函数向窗口发送消息,UI 根据消息反映框架的运行信息。

5 、结语

根据近年来GSM/GPRS 数据通信技术等发展的趋势,本文提出了基于GPRS 网络的、使用低成本SIM300模块的无线LED 屏控制器的设计方案, 该系统利用TCP/IP 协议实现了基于GPRS 网络的无线数据的传送。上位机将文字或图片信息数据通过GPRS 网络传输到远程LED 屏终端, 也可以接收客户端发送的数据,再根据数据的内容相应地完成各种命令,控制LED屏显示相应的信息。该系统设计经测试取得了良好的效果。

责任编辑;zl

关于显示光电就介绍完了,您有什么想法可以联系小编。

  • UC3846控制芯片工作原理控制图 逆变焊机原理与用途
  • 数字万用表电阻档测试二极管正反向没有阻值(使用万用表测量二极管的正向电阻,为什么各档)
  • 学单片机需要学数电模电吗(学单片机要先学数电模电吗)
  • 电工怎么选择适合自己用的万用表(电工初学者买什么样的万用表好)
  • 单片机需要同时运行多个任务怎么办(单片机怎么同时执行多个任务)
  • 电机保护的方案取决于负载的机械特性
  • 绝缘电阻表正负搭接不复零位是怎么回事
  • 短路怎么用万用表查