基于tcp协议c#多线程数据采集程序设计及实现

基于tcp协议c#多线程数据采集程序设计及实现

ID:32808550

大小:54.57 KB

页数:4页

时间:2019-02-15

基于tcp协议c#多线程数据采集程序设计及实现_第1页
基于tcp协议c#多线程数据采集程序设计及实现_第2页
基于tcp协议c#多线程数据采集程序设计及实现_第3页
基于tcp协议c#多线程数据采集程序设计及实现_第4页
资源描述:

《基于tcp协议c#多线程数据采集程序设计及实现》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、基于TCP协议C#多线程数据采集程序设计及实现摘要:该文阐述TCP通信的原理,多线程的概念,进行了一个多线程数据接收程序的设计,并使用C#编码实现。关键词:多线程;C#;TCP中图分类号:TP311文献标识码:A文章编号:1009-3044(2012)36-8624-02某项目有一批终端设备定时发送定位信息到指定的服务器,服务器接收到信息处理后保存到数据库,以备后续显示使用。终端设备同服务器间通信釆用TCP协议,一次信息发送完成后终端设备和服务器连接断开。设备之间没有信息交流,互相独立。信息发送的时间由终端设备自行决定。1关键技术1.1TCP通信

2、原理TCP协议是传输控制协议,适用于点到点,可靠通信。把通信发起方称为客户,把客户要通信的另一方称为服务器。客户把请求发给服务器,服务器收到客户的请求后提供服务。所以,TCP通信有两方,客户和服务器。在本应用中,终端设备是TCP客户,接收程序是TCP服务器。1.2多线程线程是程序中的一个执行流。是CPU调度和分派的基本单位。一个进程可以包含一个或多个线程,并且同一个进程内的多个线程共享一块内存和资源。2需求分析结合上述技术分析和应用要求,本应用中的终端机是TCP客户,要开发的程序是TCP服务器,用于接收TCP客户发送的定位信息并保存到数据库。终端

3、设备有多台,且它们之间没有联系,任何终端信息发送时间是随机的。3系统分析TCP协议要求通信双方首先要建立连接,然后双方才能进行信息的交流,最后撤除连接。服务器应设置有监听端口,工作在监听状态。当客户想同服务器通信时,客户可以向该端口发送连接请求,服务器收到连接请求后,可以建立新的通信链路以便客户和服务器进行信息交流。等到客户的通信结束后,服务器返回监听状态。在返回监听状态之前,服务器不能为其他客户提供服务,因此,在单线程模式,当前客户同服务器间的通信未结束前,其他客户无法连接服务器,只有等到它们的通信结束,服务器重新回到监听状态。这显然是低效的,

4、不合理的。为了快速的为更多的客户服务,服务器应尽快地回到监听状态。为了到达此目的,只有采用多线程工作模式。即,服务器同客户建立连接后,服务器和客户的通信和连接的撤除交由新的线程完成,自己迅速返回到监听状态,这必然的缩短了其他客户的等待时间,提高了信息传输的效率。4系统设计设计思路:建立一个TCP服务器,运行后在指定的端口监听,当收到客户的连接请求后,会创建新的线程负责随后的双方的通信,自己则回到监听状态继续监听有无其他客户连接请求。新创建的线程在完成数据的接收后,断开连接,释放资源。6测试及结果分析测试过程:运行本服务程序,设置本机监听端口和协议

5、,进入监听状态。设置终端设备的数据接收服务器IP地址为114.96.57.176(需在路由器做映射到内网IP地址:192.168.1.100),端口为5000,程序接收到终端设备发送的位置信息。结果见图2。图2程序运行显示界面截图从图2显示的信息看,信息已正确接收,程序运行正常。参考文献:[1]RobinsonS.C#高级编程[M].北京:清华大学出版社,2002.[2]CasadJ.TCP/IP入门经典[M].井中月,译.北京:人民邮电出版社,2009.[1]周有杰.VisualC#.Net网络核心编程[M].北京:清华大学出版社,2002.

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。