一种多线程通讯技术制造技术

技术编号:12907054 阅读:80 留言:0更新日期:2016-02-24 14:23
一种多线程通讯技术,属于通讯技术领域。其步骤如下:1、定义WCF服务契约,建立一个WCF服务的工程;2、实现WCF服务,建立一个类继承WCF服务接口;3、定义委托类,在委托事件的地方作声明;4、用宿主的方式启动WCF服务;5、使用委托事件,声明WCF服务委托消息的类,声明界面线程的委托事件;6、引入线程池,以及另开个线程。其优点是:能实现跨平台通讯;代码方法阅读性强,易扩展;程序稳定性强。

【技术实现步骤摘要】

本专利技术属于通讯
,具体涉及的是一种在WCF框架下的多线程通讯技术
技术介绍
WCF:ffindows Communicat1n Foundat1n是由微软开发的一组数据通信的应用程序开发接口,它是.NET框架的一部分,由.NET Framework 3.0开始引入,与WindowsPresentat1n Foundat1n 及 Windows Workflow Foundat1n 并行为新一代 Windows 操作系统以及WinFX的三个重大应用程序开发类库,在.NET Framework 2.0以及前期版本中,微软开发了 Web Service (SOAP with HTTP communicat1n), NET Remoting (TCP/HTTP/Pipeline communicat1n)以及基础的winsocket等通信支持,由于各个通信方法的设计方法不同,而且彼此之间也有相互的重叠性(例如NET Remoting可以开发S0AP,HTTP通信),对于开发人员来说,不同的选择会有不同的程序设计模型,而且必须重新学习,让开发人员在使用中有许多不便;同时,面向服务架构(Service-Oriented Architecture)也开始盛行于软件行业中,因此微软重新查看了这些通信方法,并设计了一个统一的程序开发模型,对于数据通信提供了最基本最有弹性的支持,这就是Windows Communicat1n Foundat1n。委托是一个类,它定义了方法的类型,使得可以将方法当作另一个方法的参数来进行传递,这种将方法动态地赋给参数的做法,可以避免在程序中大量使用If-Else(Switch)语句,同时使得程序具有更好的可扩展性。线程池是一种多线程处理形式,处理过程中将任务添加到队列,然后在创建线程后自动启动这些任务,线程池线程都是后台线程,每个线程都使用默认的堆栈大小,以默认的优先级运行,并处于多线程单元中;如果某个线程在托管代码中空闲(如正在等待某个事件),则线程池将插入另一个辅助线程来使所有处理器保持繁忙;如果所有线程池线程都始终保持繁忙,但队列中包含挂起的工作,则线程池将在一段事件后创建另一个辅助线程,但线程的数目永远不会超过最大值,超过最大值的线程可以排队,但他们要等到其他线程完成后才完成。
技术实现思路
本专利技术的目的在于克服现有技术存在的以上问题,提供一种多线程通讯方法,使得通讯技巧灵活使用、提高通讯响应速度,使多线程通讯数据读写变的简单。本专利技术所采用的技术方案是:步骤如下: 步骤1:定义WCF服务的契约,建立一个WCF服务的工程,声明一个契约接口,引入契约定义以及接口函数的属性,定义异步接口的回调函数; 步骤2:实现WCF服务,继承WCF服务接口,实现接口函数,将消息通知到界面之前声明一个同步的阶段信号,然后通过所述信号来调用回调方法; 步骤3:定义委托类,在委托事件的地方作声明,所述声明包括委托消息函数的参数及名称; 步骤4:用宿主的方式启动WCF服务,声明一个WCF服务对象,然后设置协议参数以及服务参数,定义绑定类型为TCP/IP协议,设置最大接收字节数、发送超时时间、契约类、服务类型、服务地址; 步骤5:使用委托事件,声明WCF服务委托消息的类,声明界面线程的委托事件; 步骤6:引入线程池,以及另开个线程,声明线程并设置线程参数。本专利技术的有益效果是:实现跨平台通讯;产生的代码方法可读性强,易扩张;可以避免在程序中大量使用If-Else (Switch)语句;程序稳定性强,线程间通讯稳定;程序的质量和效率上都有提高。【附图说明】图1为一种多线程通讯技术的流程图。图2为一种多线程通讯技术的WCF服务契约及通讯模型图。【具体实施方式】 参照附图,实施步骤如下: 步骤1:定义WCF服务的契约,建立一个WCF服务的工程,声明一个契约接口,引入契约定义以及接口函数的属性,定义异步接口的回调函数; 步骤2:实现WCF服务,继承WCF服务接口,实现接口函数,将消息通知到界面之前声明一个同步的阶段信号,然后通过所述信号来调用回调方法; 步骤3:定义委托类,在委托事件的地方作声明,所述声明包括委托消息函数的参数及名称; 步骤4:用宿主的方式启动WCF服务,声明一个WCF服务对象,然后设置协议参数以及服务参数,定义绑定类型为TCP/IP协议,设置最大接收字节数、发送超时时间、契约类、服务类型、服务地址; 步骤5:使用委托事件,声明WCF服务委托消息的类,声明界面线程的委托事件; 步骤6:引入线程池,以及另开个线程,声明线程并设置线程参数。其优点是:能实现跨平台通讯;代码方法阅读性强,易扩展;程序稳定性强。【主权项】1.一种多线程通讯技术,其特征在于:步骤如下: 步骤1:定义WCF服务的契约,建立一个WCF服务的工程,声明一个契约接口,引入契 约定义以及接口函数的属性,定义异步接口的回调函数; 步骤2:实现WCF服务,继承WCF服务接口,实现接口函数,将消息通知到界面之前声 明一个同步的阶段信号,然后通过所述信号来调用回调方法; 步骤3:定义委托类,在委托事件的地方作声明,所述声明包括委托消息函数的参数及名 称; 步骤4:用宿主的方式启动WCF服务,声明一个WCF服务对象,然后设置协议参数以及服务参数,定义绑定类型为TCP/IP协议,设置最大接收字节数、发送超时时间、契约类、服务类型、服务地址; 步骤5:使用委托事件,声明WCF服务委托消息的类,声明界面线程的委托事件; 步骤6:引入线程池,以及另开个线程,声明线程并设置线程参数。【专利摘要】一种多线程通讯技术,属于通讯
其步骤如下:1、定义WCF服务契约,建立一个WCF服务的工程;2、实现WCF服务,建立一个类继承WCF服务接口;3、定义委托类,在委托事件的地方作声明;4、用宿主的方式启动WCF服务;5、使用委托事件,声明WCF服务委托消息的类,声明界面线程的委托事件;6、引入线程池,以及另开个线程。其优点是:能实现跨平台通讯;代码方法阅读性强,易扩展;程序稳定性强。【IPC分类】G06F9/44【公开号】CN105354015【申请号】CN201410408716【专利技术人】刘金虎, 周芳芳 【申请人】南京普爱射线影像设备有限公司【公开日】2016年2月24日【申请日】2014年8月20日本文档来自技高网
...

【技术保护点】
一种多线程通讯技术,其特征在于:步骤如下:步骤1:定义WCF服务的契约,建立一个WCF服务的工程,声明一个契约接口,引入契约定义以及接口函数的属性,定义异步接口的回调函数;步骤2:实现WCF服务,继承WCF服务接口,实现接口函数,将消息通知到界面之前声明一个同步的阶段信号,然后通过所述信号来调用回调方法;步骤3:定义委托类,在委托事件的地方作声明,所述声明包括委托消息函数的参数及名称;步骤4:用宿主的方式启动WCF服务,声明一个WCF服务对象,然后设置协议参数以及服务参数,定义绑定类型为TCP/IP协议,设置最大接收字节数、发送超时时间、契约类、服务类型、服务地址;步骤5:使用委托事件,声明WCF服务委托消息的类,声明界面线程的委托事件;步骤6:引入线程池,以及另开个线程,声明线程并设置线程参数。

【技术特征摘要】

【专利技术属性】
技术研发人员:刘金虎周芳芳
申请(专利权)人:南京普爱射线影像设备有限公司
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1