The embodiment of the invention is a device and a method for message transmission, the server sends a broadcast message to the client, the server by non blocking call service in a pre established, non blocking channels and non blocking calls between the server and the client to establish non blocking, the client sends a broadcast message. The client can receive the broadcast messages sent by the client at any time or periodically by calling the non blocking channel between the non blocking service terminals and the pre built non blocking clients. This can effectively avoid the problem of wasting resources in the existing technology, because the service side usually uses the blocking way to send the broadcast message to the client.
【技术实现步骤摘要】
一种消息传输方法及装置
本专利技术实施例涉及通信
,尤其涉及一种消息传输方法及装置。
技术介绍
随着网络系统的快速发展,网络系统的规模也越来越大,集群系统呈现普遍的趋势。越来越多的个人和企业通过网络传输的方式实现资源共享,服务端和客户端之间的通信也显得愈发重要。在服务端需要向其它客户端发送消息时,很多时候采取的是以广播的形式向客户端发送。然而,现有技术中,服务端在向客户端发送广播消息及客户端接收服务端发送的广播消息时,通常采用传统的阻塞IO(输入/输出)方式发送和接收广播消息。其中,传统的阻塞式IO中,服务端与客户端之间的每个连接必须要开一个线程来处理,并且没处理完线程不能退出。虽然这种方式具有很高的响应速度,控制起来也很简单,且在连接数较少的时候也非常有效,但是如果对每一个连接都产生一个线程,这无疑会对服务端的系统资源造成严重的浪费,一旦服务端与客户端之间的连接数较多,将会出现资源严重不足的情况。因此,在服务端与客户端之间以传统的阻塞IO方式发送、接收广播消息时,很可能会造成服务端资源的严重浪费,在不发送/接收广播消息时,大量的线程维护也造成资源的严重浪费 ...
【技术保护点】
一种消息传输方法,其特征在于,所述方法包括:向客户端发送消息时,若确定所发消息为广播消息,则调用非阻塞服务端;通过调用的所述非阻塞服务端与各非阻塞客户端之间建立的非阻塞通道,向各客户端发送所述广播消息;其中,各非阻塞客户端分别创建在各客户端,与各客户端一一对应。
【技术特征摘要】
1.一种消息传输方法,其特征在于,所述方法包括:向客户端发送消息时,若确定所发消息为广播消息,则调用非阻塞服务端;通过调用的所述非阻塞服务端与各非阻塞客户端之间建立的非阻塞通道,向各客户端发送所述广播消息;其中,各非阻塞客户端分别创建在各客户端,与各客户端一一对应。2.根据权利要求1所述的方法,其特征在于,所述向客户端发送消息之前或者所述调用非阻塞服务端之前,所述方法还包括:创建所述非阻塞服务端;接收各非阻塞客户端使用对应非阻塞通道发起的通信连接请求;将各非阻塞客户端对应的非阻塞通道注册到所述非阻塞服务端的选择器中,完成所述非阻塞服务端与各非阻塞客户端之间非阻塞通道的建立。3.根据权利要求1所述的方法,其特征在于,所述通过调用的所述非阻塞服务端与各非阻塞客户端之间建立的非阻塞通道,向各客户端发送所述广播消息,具体包括:通过所述非阻塞服务端的选择器将待发送的所述广播消息,写入所述非阻塞服务端的非阻塞缓冲区;通过所述非阻塞服务端的非阻塞缓冲区将所述广播消息写入各个非阻塞客户端对应的非阻塞通道,完成向各客户端发送所述广播消息。4.根据权利要求1所述的方法,其特征在于,若所发消息非广播消息,则与对应的客户端建立阻塞通道,并通过阻塞通道发送。5.一种消息传输方法,其特征在于,所述方法包括:创建非阻塞客户端;使用所述非阻塞客户端的非阻塞通道向非阻塞服务端发起通信连接请求,以使所述非阻塞服务端将所述非阻塞客户端的非阻塞通道注册到所述非阻塞服务端的选择器中,完成所述非阻塞服务端与所述非阻塞客户端之间非阻塞通道的建立,所述非阻塞服务端创建在服务端;通过与所述非阻塞客户端建立的所述非阻塞通道,接收所述服务端通过所述非阻塞服务端发送的广播消息。6.根据权利要求5所述的方法,其特征在于...
【专利技术属性】
技术研发人员:王泓崴,王庆磊,韩炳海,
申请(专利权)人:北京神州泰岳软件股份有限公司,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。