欢迎来到天天文库
浏览记录
ID:25068311
大小:50.00 KB
页数:3页
时间:2018-11-18
《基于tcp-ip的多线程通信及其在远程监控系统中的应用》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、基于TCP/IP的多线程通信及其在远程监控系统中的应用
2、第1·终止线程:在线程内部可调用全局函数AfxBeginThread()终止线程的运行,否则,线程执行结束后,线程自动从线程函数返回并释放线程占有的资源。2基于TCP/IP的多线程编程500)this.style.ouseg(this)">TCP/IP是lnter上广泛使用的一种协议,可用于异种机之间的互联。TCP/IP协议本身是非常复杂的,然而在网络编程中,程序员不必考虑TCP/IP的实现细节,只需利用协议的网络编程接口Socket(亦称套接字)即可。在AL,UINTn
3、StackSixe=0,DessageLen;}EXCHANGE_INFO;在需要通信时,先声明一个结构变量,再把变量的指针作为pParam参数,调用AfxBeginThread((AFX_THREADPROC)CSocketThread::essage、SendMessage等,这些函数屏蔽了面向连接的通信程序的实现细节,如创建、连接、发送和接收等,在这些函数里,动态创建辅助线程。下面以CSocketm类中的等待客户连接请求的函数essage()函数把数据组合成一定的帧结构。帧结构为:500)this.style.ou
4、seg(this)">其中@为帧起始标志,#为帧终结标志对应的结构定义如下:typedefstruct{intMessageType;//信息类型intChargerNo;//充电机编号intDataNo;//数据类型floatData;//数据}MessageStruct;需要通信时,先声明一个MessageStruct变量,根据信息内容对各成员变量赋值,传给AssembleMessage()函数组合成帧,再调用SendMessage()函数发送给接受方。接受方接到数据后,对数据内容的解释,是由Csocketm类
5、中的AnalyzeMessage()函数完成的。AnalyzeMessage()函数返回一个MessageStruct变量。应用程序就可根据它的各成员变量控制充电机或动态显示充电机的状态。总之,把多线程机制引进通信,有利于提高应用程序的实时性,充分利用系统资源。对于大型的工程应用来说,不同的线程完成不同的任务,也有利于提高程序的模块化,便于维护和扩展。本文给出了一种在WindoonicaSubodhp.WindowsNT4高级程序设计.北京:机械工业出版社,1998
此文档下载收益归作者所有