CN106685600A - 局域网内工作站之间的消息传递方法 - Google Patents
局域网内工作站之间的消息传递方法 Download PDFInfo
- Publication number
- CN106685600A CN106685600A CN201510745517.8A CN201510745517A CN106685600A CN 106685600 A CN106685600 A CN 106685600A CN 201510745517 A CN201510745517 A CN 201510745517A CN 106685600 A CN106685600 A CN 106685600A
- Authority
- CN
- China
- Prior art keywords
- message
- work station
- local
- lan
- communication service
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/21—Monitoring or handling of messages
- H04L51/212—Monitoring or handling of messages using filtering or selective blocking
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/08—Arrangements for detecting or preventing errors in the information received by repeating transmission, e.g. Verdan system
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
- H04L12/185—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with management of multicast group membership
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/565—Conversion or adaptation of application format or content
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供了一种局域网内工作站之间的消息传递方法,所述方法包括:本地工作站向其所在局域网内发送一广播消息,并接收所述局域网中的其它工作站返回的第一反馈消息,以与所述其它工作站建立连接;所述本地工作站向已建立连接的所述其它工作站发送一第一网络消息,并接收所述其它工作站返回的第二反馈消息。本发明通过建立局域网中工作站之间的连接,能够实现工作站之间直接进行消息传递。
Description
技术领域
本发明涉及互联网技术领域,尤其涉及一种局域网内工作站之间的消息传递方法。
背景技术
对于由多台工作站组成的复杂系统,各个工作站之间需要彼此传递消息和指令,协同工作,来完成某项任务。消息及指令传输的稳定性直接影响了系统的稳定性,因此,建立一套稳定有效的消息传递机制非常重要。
传统的消息传递方式是以服务器——工作站的形式进行传递的。每台工作站需要先与服务器进行连接,当一台工作站需要与另一台工作站进行通信时,先把消息传递到服务器,也就是消息服务中心,然后由服务端传递到需要通信的工作站上。
所以,通过现有的方式进行消息传递,除了工作站,还需要有服务器作为中转,若要保持工作站之间良好的通信传输,服务器需要具有较高的稳定性。
发明内容
为了解决这一问题,需要提出一种无中心服务器的多对多工作站通信方案。
本发明提供一种局域网内工作站之间的消息传递方法,所述方法包括:本地工作站向其所在局域网内发送一广播消息,并接收所述局域网中的其它工作站返回的第一反馈消息,以与所述其它工作站建立连接;所述本地工作站向已建立连接的所述其它工作站发送一第一网络消息,并接收所述其它工作站返回的第二反馈消息。
一个实施例中,本地工作站向其所在局域网内发送一广播消息,并接收所述局域网中的其它工作站返回的第一反馈消息,包括:启动所述本地工作站的通信服务端;所述通信服务端向所述局域网内发送所述广播消息并接收所述局域网中的其它工作站接收到所述广播消息后返回的所述第一反馈消息。
一个实施例中,所述本地工作站向已建立连接的所述其它工作站发送一第一网络消息,并接收所述其它工作站返回的第二反馈消息,包括:
启动所述本地工作站的通信客户端,并建立所述通信客户端与所述通信服务端之间的连接;所述通信客户端发送所述第一网络消息至所述通信服务端;所述通信服务端将所述第一网络消息发送至所述其它工作站,并接收所述其它工作站接收到所述第一网络消息后返回的所述第二反馈消息。
一个实施例中,所述方法还包括:所述通信服务端读取所述本地工作站的注册表以获取并记录所述本地工作站的IP地址;所述通信服务端在接收到一第二网络消息时,比较所述第二网络消息的发送端IP地址和所述本地工作站的IP地址;当所述发送端IP地址和所述本地工作站的IP地址不相同时,所述本地工作站发送反馈消息;其中,所述通信服务端检测到所述本地工作站的网络连接发生变化时,重新读取所述本地工作站的IP地址。
一个实施例中,所述方法还包括:所述通信服务端接收到所述第一反馈消息后,将发送所述第一反馈消息的其它工作站的IP地址记录在一第一消息列表中;所述通信服务端与所述第一消息列表中的IP地址对应的工作站进行点对点发送消息。
一个实施例中,所述通信服务端对发送至所述其它工作站的所述第一网络消息进行封装,封装后的所述第一网络消息包含一第一消息头,所述第一消息头用于区分所述本地工作站和所述局域网内部分其它工作站构成的本地消息收发系统与所述局域网内其它消息收发系统;所述其它工作站将其第二消息头和所述第一消息头进行比较,若相同,则处理所述第一网络消息,并将所述第二反馈消息返回至所述本地工作站。
一个实施例中,所述通信服务端对发送至所述其它工作站的所述第一网络消息进行封装,封装后的所述第一网络消息包含一全局唯一标识符;所述通信服务端在发送所述第一网络消息后的一设定时间内未收到带有所述全局唯一标识符的所述第二反馈消息时,重新发送所述第一网络消息,直到收到带有所述全局唯一标识符的所述第二反馈消息或重新发送的次数超过一设定次数;以及所述其它工作站返回所述第二反馈消息时,一同将所述全局唯一标识符返回至所述本地工作站。
一个实施例中,所述方法还包括:所述通信客户端向所述本地工作站上的其它通信客户端发送所述第一网络消息;以及所述通信客户端向所述通信服务端发送一消息过滤标签;所述通信服务端对一待发送网络消息的标签和所述消息过滤标签进行比较,若所述消息过滤标签包含所述待发送网络消息的标签,则将所述待发送网络消息发送至所述通信客户端,否则不发送。
一个实施例中,所述通信服务端检测到所述本地工作站的网络连接发生变化时,重新向所述局域网内发送所述广播消息,以更新所述本地工作站与所述其它工作站之间的连接。
一个实施例中,所述其它工作站接收到所述广播消息后,将所述本地工作站的IP地址记录至一第二消息列表。
本发明通过在局域网内,一台或者多台工作站之间,通过网络进行相互连接,能够实现工作站彼此之间的消息的发送和接收,从而实现局域网内无中心服务器多对多工作站间的消息传递。本发明的每个工作站上可启动一个通信服务端软件,用于消息的中转和发送;通信服务端与本工作站上的通信客户端及其它工作站上的通信服务端建立连接;工作站上的软件模块调用一个通信客户端动态库(Dll),从而实现与本工作站通信服务软件的连接。软件模块将消息通过通信客户端发送给本工作站通信服务端,本站服务端再通过网络发送给其它工作站的通信服务端,最终能够将消息传递给其它工作站上层软件模块。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。在附图中:
图1是本发明一实施例中工作站的结构示意图;
图2是本发明一实施例中局域网内多台工作站建立连接的示意图;
图3是本发明实施例的局域网内工作站之间的消息传递方法的流程示意图;
图4是本发明一实施例中不同工作站之间建立连接的方法的流程示意图;
图5是本发明一实施例中工作之间发送网络消息的方法的流程示意图;
图6是本发明一实施例中本地工作站排除本身所发送广播消息干扰的方法的流程示意图;
图7是本发明一实施例中点对点发送方法的流程示意图;
图8是本发明一实施例中本地工作站发送网络消息的流程示意图;
图9是本发明一实施例中其他工作站接收网络消息的方法的流程示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本发明实施例做进一步详细说明。在此,本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。
图1是本发明一实施例中工作站的结构示意图。如图1所示,本发明实施例中的工作站100可以包含通信服务端101和通信客户端102。其中,通信服务端101、通信客户端102的个数可以是一个或多个,具体数目可视需要而定。例如,工作站100中仅包含一个通信服务端101,同时可包含多个通信客户端102。工作站100上可装有多个软件应用程序,用以控制通信服务端101和通信客户端102执行动作。
图2是本发明一实施例中局域网内多台工作站建立连接的示意图。如图2所示,局域网200中包含多个工作站100。工作站100可通过其中的通信服务端101彼此建立连接。
本发明提供一种局域网内工作站之间的消息传递方法。该方法通过广播消息使局域网内的工作站之间建立稳定连接,并在已建立连接的工作站之间进行网络消息的发送和接收,能够实现局域网内工作站多对多的消息传送。
图3是本发明实施例的局域网内工作站之间的消息传递方法的流程示意图。如图3所示,局域网内可以通过网络连接的工作站之间进行消息传递方法,可包括如下步骤:
S110:本地工作站向其所在局域网内发送一广播消息,并接收所述局域网中的其它工作站返回的第一反馈消息,以与所述其它工作站建立连接;
S120:所述本地工作站向已建立连接的所述其它工作站发送一第一网络消息,并接收所述其它工作站返回的第二反馈消息。
本发明实施例中,用“本地工作站”的描述表示发送网络消息的工作站,用“其它工作站”的描述表示接收网络消息的工作站。一个本地工作站可同时给多个其它工作站发送用于建立连接的广播消息和上述网络消息,上述多个其它工作站也可返回用于建立连接的反馈消息和对应所接收网络消息的反馈消息。换言之,若将上述“其它工作站”作为发送网络消息的工作站,上述“本地工作站”也可作为接收网络消息的工作站。简言之,“本地工作站”和“其它工作站”的描述仅是发送和接收网络消息的角度不同,并不限定局域网中该中“本地工作站”的个数。所以,以本发明实施例的方法能够实现局域网内多个工作站对多个工作站的消息传递。
在上述步骤S110中,该本地工作站可通过多种网络协议,例如UDP(UserDatagramProtocol,用户数据包协议)网络协议,向其所在局域网内发送广播消息,例如UDP广播。该本地工作站可在各种时刻,例如在该本地工作站启动时,发送该广播消息。上述其它工作站接收到该广播消息后,返回第一反馈消息。从而通过广播消息可使其它工作站识别本地工作站,通过反馈消息可使本地工作站识别上述其它工作站。如此一来,上述本地工作站和其它工作站可以建立连接。
上述广播消息可包含该本地工作站的IP地址。其它工作站在接收到该广播消息时,可将该广播消息中的该本地工作站的IP地址提取出来,并可发送至一第二消息列表中,以在必要的时候读取使用。
局域网中工作站之间的网络连接可能会发生变化,例如,在某个消息收发系统中,某原有工作站停止与其它工作站进行消息传递,或者有新的工作站加入该消息收发系统,与其它工作站进行消息传递,再或者由于线路故障等原因导致网络连接临时中断。此时,本地工作站的通信服务端在检测到本地工作站的网络连接状态发生了变化时,会可重新向该局域网内发送上述广播消息,以更新本地工作站与其它工作站之间的连接,从而保证消息的正确并正常地传递。
在上述步骤S120中,当本地工作站有消息需要向上述其它工作站发送时,例如本地工作站向上述其它工作站发送该网络消息。上述其它工作站接收到该网络消息时,向该本地工作站返回一反馈消息,例如第一反馈消息。该本地工作站通过该第一反馈消息可得知上述其它工作站成功接收到该网络消息。
本发明实施例,通过在不同工作站之间建立连接,并以此为桥梁直接进行消息传递,无需各工作之间协同工作,也不需要通过服务器进行消息中转,从而可以提供局域网内各工作站之间消息传递的稳定性。
图4是本发明一实施例中不同工作站之间建立连接的方法的流程示意图。如图4所示,图3所示的局域网内工作站之间的消息传递方法的步骤S110中,该本地工作站向其所在局域网内发送一广播消息,并接收所述局域网中的其它工作站返回的第一反馈消息的方法,可包括步骤:
S111:启动所述本地工作站的通信服务端;
S112:所述通信服务端向所述局域网内发送所述广播消息并接收所述局域网中的其它工作站接收到所述广播消息后返回的所述第一反馈消息。
本发明实施例中,该本地工作站可通过其上的通信服务端发送和接收各种消息。在上述步骤S111中,在通过本地工作站的通信服务端发送该广播消息之前,先启动该本地工作站的通信服务端,其启动方式可以根据需要选择或设置,例如,在工作站启动时,其通信服务端自动启动,或者人工启动,从而满足不同的消息收发状态要求。
较佳实施例中,为了保证该本地工作站的通信服务端保持在启动状态,可以通过该本地工作站上的软件应用程序实时执行监测该本地工作站的通信服务端的启动状态。当该本地工作站上的软件应用程序检测到该本地工作站的通信服务端未启动时,会控制通信服务端自动启动。
图5是本发明一实施例中工作之间发送网络消息的方法的流程示意图。如图5所示,图3所示的局域网内工作站之间的消息传递方法的步骤S120中,该本地工作站向已建立连接的其它工作站发送一第一网络消息,并接收其它工作站返回的第二反馈消息的方法,可包括步骤:
S121:启动所述本地工作站的通信客户端,并建立所述通信客户端与所述通信服务端之间的连接;
S122:所述通信客户端发送所述第一网络消息至所述通信服务端;
S123:所述通信服务端将所述第一网络消息发送至所述其它工作站,并接收所述其它工作站接收到所述第一网络消息后返回的所述第二反馈消息。
本发明实施例中,网络消息可来自于该本地工作站的通信客户端。通信客户端可根据工作站上的各种软件应用程序的指令发送网络消息。消息客户端可根据该软件应用程序的指令将网络消息发送至通信服务端,再通过该本地工作站的通信服务端将网络消息发送至其它工作站。
在上述步骤S121中,可通过工作站上的软件应用程序(例如启动时),调用通信客户端的动态库(Dynamic Link Library,DLL),启动该本地工作站上的通信客户端,建立该本地工作站上的通信客户端和该本地工作站上的通信服务端之间的连接,以实现通信客户端和通信服务端之间的消息传递。
在上述步骤S122中,本地工作站上的软件应用程序控制发送网络消息时,可通过本地工作站上的通信客户端将网络消息发送给本地工作站上的通信服务端。在上述步骤S123中,本地工作站上的通信服务端可将来自通信客户端的网络消息进行处理,例如封装,并将封装后的网络消息发送至其它工作站。封装后的网络消息,除了包含消息内容本身,还可包含其它信息,例如消息头、全局唯一标识符(Globally UniqueIdentifier,GUID)等。
在上述步骤S122中,不仅可通过本地工作站上的通信客户端将网络消息发送给本地工作站上的通信服务端,还可通过该本地工作站上的通信服务端将来自本地工作站上的通信客户端/消息客户端的网络消息转发给本地工作站上其它通信客户端,以使其它通信客户端得知上述通信客户端/消息客户端所发送网络消息的相关信息。
在上述步骤S123中,上述其它工作站可通过其上的通信服务端接收网络消息,当接收到上述第一网络消息后,上述其它工作站的通信服务端可从该第一网络消息中提取出消息内容,再将该消息内容转发给本机的通信客户端。若该第一网络消息中包含除消息内容以外的信息,例如全局唯一标识符(GUID),上述其它工作站的通信客户端可将该全局唯一标识符(GUID)一并提取出来。另外,上述其它工作站还可通过其上的通信服务端返回上述第二反馈消息。在返回该第二反馈消息时,可一并返回其它信息,例如上述本地工作站的全局唯一标识符(GUID),如此一来,本地工作站可得知上述第二反馈消息是对其所发送的第一网络消息的反馈消息,从而得知该第一网络消息已发送成功。
本地工作站在发送广播消息至其它工作站时,可同时接收其它工作站发送的广播消息,同样地,本地工作站可在接收到其它工作站发送的广播消息返回反馈消息至其它工作站。本地工作站作为局域网中的一个工作站,也可接收到自身发送的广播消息。若对自身发送的广播消息返回反馈消息,会给本地工作站带来不必要的干扰。
一个实施例中,本地工作站上的软件应用程序控制通信客户端发送消息时,可以选择只将消息传递给本工作站上其它软件应用程序控制的通信客户端或通信服务端,或者只传递给其它工作站的软件应用程序控制的通信服务端,或者两者都传递。
图6是本发明一实施例中本地工作站排除本身所发送广播消息干扰的方法的流程示意图。如图6所示,在上述步骤S110中,建立本地工作站和其它工作站之间的连接时,本地工作站排除本身所发送广播消息干扰的方法,可包括步骤:
S210:所述通信服务端读取所述本地工作站的注册表以获取并记录所述本地工作站的IP地址;
S220:所述通信服务端在接收到一第二网络消息时,比较所述第二网络消息的发送端IP地址和所述本地工作站的IP地址;
S230:当所述发送端IP地址和所述本地工作站的IP地址不相同时,所述本地工作站发送反馈消息。
在上述步骤S210中,本地工作站的通信服务端可在多个时刻读取本地工作站的IP地址,例如,本地工作站的通信服务端启动时或该通信服务端接收到一广播消息/第二网络消息时。本地工作站的通信服务端在读取了本地工作站的IP地址后,可将本地工作站的IP地址记录下来,例如存储至本机的IP地址列表中,之后,可根据需要从该IP地址列表读取本地工作站的IP地址。
此外,本地工作站的通信服务端所读取的本地工作站的IP地址可用作其它用途,例如,将本地工作站的IP地址发送给其它工作站,以使其它工作站识别发送消息的工作站。
本地工作站的通信服务端可用于监测本地工作站上网络连接的变化情况,当本地工作站的通信服务端检测到本地工作站的网络连接发生变化时,例如IP地址被修改,可从本地工作站的注册表中重新读取该本地工作站所匹配的IP地址,以保证获得正确的本地工作站的IP地址。
较佳地,当本地工作站的通信服务端重新读取到本地工作站的IP地址后,本地工作站可重新向局域网内发送广播消息,例如UDP广播,以更新本地工作站与其它工作站的连接。
在上述步骤S220中,该第二网络消息中可包含该发送端的IP地址,该本地工作站的通信服务端可将该发送端的IP地址从该第二网络消息中提取出来。从而可将该发送端的IP地址与该本地工作站的IP地址进行比较。
在上述步骤S230中,当上述发送端IP地址和本地工作站的IP地址不相同时,则认为该第二网络消息不是该本地工作站发送的,该本地工作站则可发送/返回反馈消息至该发送端,该发送端可以是上述其它工作站中任一个工作站。当上述发送端IP地址和本地工作站的IP地址相同时,即认为上述第二网络消息是该本地工作站自身所发送的广播消息,则不发送反馈消息。如此一来,通过比对IP地址可排除本地工作站的通信服务端的自身干扰。类似地,本地工作站也可用同样地方法排除其它各种自身所发送网络消息的干扰。
本发明实施例中,本地工作站可在有消息需要发送给其它工作站时,通过本发明实施例的方法,与其它工作站建立连接并传递网络消息。或者,本地工作站可直接与IP地址记录在第一消息列表内的其它工作站进行消息传递。
例如,本地工作站与上述其它工作站传递过一次网络消息后,便将上述其它工作站的IP地址记录至本地工作站上的一个第一消息列表中。若再次需要发送网络消息,则可不用重新通过广播消息建立本地工作站与上述其它工作站之间的连接,而是直接将网络消息发送至上述第一消息列表中IP地址对应的其它工作站。从而,进行工作站之间的点对点消息发送。
图7是本发明一实施例中点对点发送方法的流程示意图。如图7所示,局域网中工作之间点对点发送网络消息的方法,可包括步骤:
S310:所述通信服务端接收到所述第一反馈消息后,将发送所述第一反馈消息的其它工作站的IP地址记录在一第一消息列表中;
S320:所述通信服务端与所述第一消息列表中的IP地址对应的工作站进行点对点发送消息。
本发明实施例中,本地工作站通过与其它工作站首次传递网络消息建立连接时,将其它工作站的IP地址记录在一第一消息列表中,并依据该第一消息列表中的IP地址与其它工作站传递后续的网络消息。从而可以避免本地工作站与其它工作站重新建立相同的连接关系,以提高局域网内工作站之间消息传送的效率。
再如图2所示,局域网200中可包含至少三个工作站100,任意至少两个工作站100可以构成一个消息收发系统,所以,局域网200可包括至少两个消息收发系统。例如,由局域网中的其中几台工作站组成一个消息收发系统,由另外几台工作站组成另一个消息收发系统,或者,不同的消息收发系统中均包含至少两个工作站,且包含共同的工作站。不同消息收发系统之间所传递的网络消息可不同。
图8是本发明一实施例中本地工作站发送网络消息的流程示意图。如图8所示,本发明实施例的消息传递方法,在实施上述步骤S123时,本地工作站的通信服务端可对发送至其它工作站的第一网络消息进行封装,生成封装消息(步骤S301)。其中,该封装消息可包含一消息头,例如,第一消息头,该消息头可用于区分该第一网络消息所属的消息收发系统和其它消息收发系统。
具体地,例如,当上述其它工作站的通信服务端/消息服务端收到上述第一网络消息时,可从该第一网络消息中提取出该第一消息头,并可与上述其它工作站的通信服务端的第二消息头进行比对,若相同,则上述其它工作站可处理该第一网络消息,并将该第二反馈消息返回至该本地工作站;若不同,则上述其它工作站可不处理该第一网络消息,也可不发送该第二反馈消息。其中,消息头可为一个由用户设置的字符串,可以在配置文件中进行修改。不同的消息收发系统可设置不同的消息头,用以区分彼此。如此一来,可防止两个消息收发系统之间的消息传递发生混乱。
如图8所示,本地工作站的通信服务端可对发送至所述其它工作站的第一网络消息进行封装,生成封装消息(步骤S301)。封装后的第一网络消息(封装消息)可包含一全局唯一标识符(Globally Unique Identifier,GUID)。当其它工作站上的通信服务端收到第一网络消息时,可将其中的全局唯一标识符(GUID)提取出来,并可在发送第二反馈消息至本地工作站时,将此全局唯一标识符(GUID)返回至本地工作站。该全局唯一标识符(GUID)可视需要作为各种用途,例如用于验证消息是否发送成功。
如图8所示,上述局域网内工作站之间的消息传递方法,还可对消息是否发送成功进行验证(步骤S302~S305)。例如,本地工作站可将上述本地工作站的全局唯一标识符(GUID)同反馈消息一起发送至该本地工作站。本地工作站的通信服务端向其它工作站的通信服务端发送上述第一网络消息后,可等待一设定时间(步骤S302)。在等待该固定时间后,可判断是否有反馈消息(步骤S303),若本地工作站接收到带有上述全局唯一标识符的反馈消息(第二反馈消息),则认为消息发送成功,则结束该消息发送过程;若没有收到带有上述全局唯一标识符的反馈消息(第二反馈消息),则根据发送消息列表/第一消息列表中IP地址重新向其它工作站发送上述第一网络消息,并判断已发送或重新发送消息的次数是否超过一设定次数(步骤S304),若发送或重新发送消息的次数已达到或超过一设定次数,则认为消息发送失败;若还未达到或超过该设定次数,则根据发送消息列表/第一消息列表中的IP地址给其它工作站重新发送网络消息,直到发送或重新发送消息的次数达到或超过该设定次数,停止发送消息。从而,可以有效验证本地工作站是否成功发送网络消息,并通过多次重复发送消息,可尽可能确保其它工作站收到网络消息。
若重新发送次数超过设置的次数,则认为对方工作站已经失去连接,可从本地工作站记录的发送消息列表/第一消息列表中移除此工作站的IP地址(步骤S305),以避免再次重复发送无用消息。
再如图8所示,本地工作站的通信客户端可向本地工作站的通信服务端发送一消息过滤标签(步骤S306)。本地工作站的通信服务端可将网络消息发送至本地工作站上的其它通信客户端。本地工作站的通信服务端可对一待发送网络消息的标签和上述消息过滤标签进行比较,若上述消息过滤标签包含上述待发送网络消息的标签,则可将上述待发送网络消息发送至本地工作站的其它通信客户端(步骤S307),否则可不发送,以避免本地工作站上的其它通信客户端收到不必要的消息。
一个实施例中,所述其它工作站接收到所述广播消息后,将所述本地工作站的IP地址记录至一消息发送列表/第二消息列表。
图9是本发明一实施例中其他工作站接收网络消息的方法的流程示意图。如图9所示,其他工作站收到一网络消息后,可首先判断该网络消息是否为本机消息(步骤S401),例如通过对比发送端和本机的IP地址判断;若该网络消息是本机发送的网络消息,则结束动作,若不是本机消息,则可对该网络消息进行处理,例如拆封该网络消息,可提取消息头、消息内容及全局唯一标识符(GUID)等一个或多个信息,并可判断提取的消息头是否与本机的消息头匹配(步骤S402);若提取的消息头不与本机的消息头匹配,则可认为该消息不应发给该工作站,则结束动作,若匹配,则判断发送端的IP地址是否已在该工作站的消息发送列表/第一消息列表中(步骤S403);若不在,则将该发送端的IP地址添加到消息发送列表/第一消息列表中,若在,则判断该网络消息中是否包含消息过滤标签(步骤S404);若包含,则向该工作站的通信客户端发送消息内容,若不包含,则判断是否需要发送反馈消息至发送端(步骤S405);若不需要,则结束消息传递过程,若需要则发送包含全局唯一标识符(GUID)的反馈消息至发送端。
在图9所示的其他工作站接收网络消息的具体实施例中,消息头、全局唯一标识符(GUID)、消息过滤标签等多个信息及多个步骤,可依据上述各实施例进行选择,本发明实施例仅用于清楚说明其他工作站接收网络消息的方法,并非用以限定本发明。
本发明实施例的方法适用于局域网内多对多工作站通信领域,每个工作站上可启动一个通信服务端软件,用于消息的中转和发送。通信服务端与本工作站上的通信客户端及其它工作站上的通信服务端建立连接。工作站上的软件应用程序执行调用一个通信客户端动态库(Dll),实现与本工作站通信服务软件的连接。软件应用程序执行将消息通过通信客户端发送给本工作站通信服务端,本站服务端再通过网络发送给其它工作站的通信服务端,最终传递给上工作站上层软件应用程序控制的通信客户端。本发明实施例,通过与其他工作站建立连接,可以不使用服务器中转,即可实现局域网中任两个工作站之间的消息传递,如此能够使消息传递更稳定。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其它可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其它可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其它可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其它可编程数据处理设备上,使得在计算机或其它可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其它可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种局域网内工作站之间的消息传递方法,其特征在于,所述方法包括:
本地工作站向其所在局域网内发送一广播消息,并接收所述局域网中的其它工作站返回的第一反馈消息,以与所述其它工作站建立连接;
所述本地工作站向已建立连接的所述其它工作站发送一第一网络消息,并接收所述其它工作站返回的第二反馈消息。
2.如权利要求1所述的局域网内工作站之间的消息传递方法,其特征在于,本地工作站向其所在局域网内发送一广播消息,并接收所述局域网中的其它工作站返回的第一反馈消息,包括:
启动所述本地工作站的通信服务端;
所述通信服务端向所述局域网内发送所述广播消息并接收所述局域网中的其它工作站接收到所述广播消息后返回的所述第一反馈消息。
3.如权利要求2所述的局域网内工作站之间的消息传递方法,其特征在于,所述本地工作站向已建立连接的所述其它工作站发送一第一网络消息,并接收所述其它工作站返回的第二反馈消息,包括:
启动所述本地工作站的通信客户端,并建立所述通信客户端与所述通信服务端之间的连接;
所述通信客户端发送所述第一网络消息至所述通信服务端;
所述通信服务端将所述第一网络消息发送至所述其它工作站,并接收所述其它工作站接收到所述第一网络消息后返回的所述第二反馈消息。
4.如权利要求3所述的局域网内工作站之间的消息传递方法,其特征在于,所述方法还包括:
所述通信服务端读取所述本地工作站的注册表以获取并记录所述本地工作站的IP地址;
所述通信服务端在接收到一第二网络消息时,比较所述第二网络消息的发送端IP地址和所述本地工作站的IP地址;
当所述发送端IP地址和所述本地工作站的IP地址不相同时,所述本地工作站发送反馈消息;
其中,所述通信服务端检测到所述本地工作站的网络连接发生变化时,重新读取所述本地工作站的IP地址。
5.如权利要求2所述的局域网内工作站之间的消息传递方法,其特征在于,所述方法还包括:
所述通信服务端接收到所述第一反馈消息后,将发送所述第一反馈消息的其它工作站的IP地址记录在一第一消息列表中;
所述通信服务端与所述第一消息列表中的IP地址对应的工作站进行点对点发送消息。
6.如权利要求3所述的局域网内工作站之间的消息传递方法,其特征在于,
所述通信服务端对发送至所述其它工作站的所述第一网络消息进行封装,封装后的所述第一网络消息包含一第一消息头,所述第一消息头用于区分所述本地工作站和所述局域网内部分其它工作站构成的本地消息收发系统与所述局域网内其它消息收发系统;
所述其它工作站将其第二消息头和所述第一消息头进行比较,若相同,则处理所述第一网络消息,并将所述第二反馈消息返回至所述本地工作站。
7.如权利要求3所述的局域网内工作站之间的消息传递方法,其特征在于,
所述通信服务端对发送至所述其它工作站的所述第一网络消息进行封装,封装后的所述第一网络消息包含一全局唯一标识符;所述通信服务端在发送所述第一网络消息后的一设定时间内未收到带有所述全局唯一标识符的所述第二反馈消息时,重新发送所述第一网络消息,直到收到带有所述全局唯一标识符的所述第二反馈消息或重新发送的次数超过一设定次数;以及所述其它工作站返回所述第二反馈消息时,一同将所述全局唯一标识符返回至所述本地工作站。
8.如权利要求3所述的局域网内工作站之间的消息传递方法,其特征在于,所述方法还包括:
所述通信客户端向所述本地工作站上的其它通信客户端发送所述第一网络消息;以及
所述通信客户端向所述通信服务端发送一消息过滤标签;所述通信服务端对一待发送网络消息的标签和所述消息过滤标签进行比较,若所述消息过滤标签包含所述待发送网络消息的标签,则将所述待发送网络消息发送至所述通信客户端,否则不发送。
9.如权利要求3所述的局域网内工作站之间的消息传递方法,其特征在于,所述通信服务端检测到所述本地工作站的网络连接发生变化时,重新向所述局域网内发送所述广播消息,以更新所述本地工作站与所述其它工作站之间的连接。
10.如权利要求3所述的局域网内工作站之间的消息传递方法,其特征在于,所述其它工作站接收到所述广播消息后,将所述本地工作站的IP地址记录至一第二消息列表。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510745517.8A CN106685600B (zh) | 2015-11-05 | 2015-11-05 | 局域网内工作站之间的消息传递方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510745517.8A CN106685600B (zh) | 2015-11-05 | 2015-11-05 | 局域网内工作站之间的消息传递方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106685600A true CN106685600A (zh) | 2017-05-17 |
CN106685600B CN106685600B (zh) | 2019-09-20 |
Family
ID=58857811
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510745517.8A Active CN106685600B (zh) | 2015-11-05 | 2015-11-05 | 局域网内工作站之间的消息传递方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106685600B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112462647A (zh) * | 2020-11-13 | 2021-03-09 | 中国人民解放军国防科技大学 | 一种电台网络控制系统及方法 |
CN113031569A (zh) * | 2021-03-17 | 2021-06-25 | 核工业西南物理研究院 | 一种核聚变控制系统的监听方法、系统、终端及介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1455556A (zh) * | 2003-05-14 | 2003-11-12 | 东南大学 | 无线局域网安全接入控制方法 |
CN1543124A (zh) * | 2003-05-02 | 2004-11-03 | 在对等网络中经瞬态连接的通信消息 | |
WO2008020947A1 (en) * | 2006-08-14 | 2008-02-21 | Verizon Data Services Llc | Video messaging system |
CN101499952A (zh) * | 2008-01-31 | 2009-08-05 | 明泰科技股份有限公司 | 能跨越不同虚拟局域网络间区隔限制的网络系统 |
CN103222287A (zh) * | 2010-11-19 | 2013-07-24 | 高通股份有限公司 | 用于直接链路连接的探测消息 |
US20130242843A1 (en) * | 2012-03-16 | 2013-09-19 | Fujitsu Limited | Wireless communication system, base station, and terminal |
-
2015
- 2015-11-05 CN CN201510745517.8A patent/CN106685600B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1543124A (zh) * | 2003-05-02 | 2004-11-03 | 在对等网络中经瞬态连接的通信消息 | |
CN1455556A (zh) * | 2003-05-14 | 2003-11-12 | 东南大学 | 无线局域网安全接入控制方法 |
WO2008020947A1 (en) * | 2006-08-14 | 2008-02-21 | Verizon Data Services Llc | Video messaging system |
CN101499952A (zh) * | 2008-01-31 | 2009-08-05 | 明泰科技股份有限公司 | 能跨越不同虚拟局域网络间区隔限制的网络系统 |
CN103222287A (zh) * | 2010-11-19 | 2013-07-24 | 高通股份有限公司 | 用于直接链路连接的探测消息 |
US20130242843A1 (en) * | 2012-03-16 | 2013-09-19 | Fujitsu Limited | Wireless communication system, base station, and terminal |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112462647A (zh) * | 2020-11-13 | 2021-03-09 | 中国人民解放军国防科技大学 | 一种电台网络控制系统及方法 |
CN112462647B (zh) * | 2020-11-13 | 2021-10-12 | 中国人民解放军国防科技大学 | 一种电台网络控制系统及方法 |
CN113031569A (zh) * | 2021-03-17 | 2021-06-25 | 核工业西南物理研究院 | 一种核聚变控制系统的监听方法、系统、终端及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN106685600B (zh) | 2019-09-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100471180C (zh) | 一种消息传递的方法、装置和系统 | |
CN1929472B (zh) | 数据网络中管理数据传输的方法及系统 | |
CN111083161A (zh) | 数据传输的处理方法及装置、物联网设备 | |
CN107086934A (zh) | 组网设备的配置方法和网关 | |
CN109196842B (zh) | 一种会话保持方法、设备及存储介质 | |
CN106603550A (zh) | 一种网络隔离方法及装置 | |
CN106788894A (zh) | 分段独立传输校验方法 | |
CN109526020A (zh) | 数据传输方法及相关产品 | |
CN104158752A (zh) | 业务流量的处理方法和装置 | |
CN110087040A (zh) | 一种监控视频调取方法及系统 | |
CN107567107A (zh) | 一种传输数据的方法及装置 | |
US20230300106A1 (en) | Data processing method, network element device and readable storage medium | |
CN107508828B (zh) | 一种超远程数据交互系统及方法 | |
CN105207909A (zh) | 一种发送信息的方法和网络装置 | |
CN107659999A (zh) | Wifi连接方法及设备 | |
CN106685600A (zh) | 局域网内工作站之间的消息传递方法 | |
CN105246129B (zh) | 一种智能终端的组网方法及装置 | |
CN106130863B (zh) | 局域网协议报文的传送方法、装置以及系统 | |
CN102006223B (zh) | 卡间数据传输方法、装置及系统、板卡和分布式系统 | |
CN103428677B (zh) | 分组业务数据的发送方法及信令信道发送信息的接收方法 | |
CN103051484A (zh) | 会话业务处理方法、系统和会话边缘控制器 | |
CN107659966A (zh) | 数据传输方法、网络设备、用户终端、网关设备 | |
CN115460157A (zh) | 一种多网卡融合通信方法及通信系统 | |
CN107566476B (zh) | 一种接入方法、sdn控制器、转发设备及用户接入系统 | |
CN112994848B (zh) | Mcs的调整方法、装置、存储介质及无线节点 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
PE01 | Entry into force of the registration of the contract for pledge of patent right | ||
PE01 | Entry into force of the registration of the contract for pledge of patent right |
Denomination of invention: Message transmission methods between workstations in a local area network Effective date of registration: 20230726 Granted publication date: 20190920 Pledgee: Zhongguancun Branch of Bank of Beijing Co.,Ltd. Pledgor: SHINEON TECHNOLOGY CO.,LTD. Registration number: Y2023980049838 |