IOCP 框架的启动流程如图6 所示。
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
关于显示光电就介绍完了,您有什么想法可以联系小编。