CN108712373A - 单向通信方法、装置、用户终端及计算机可读存储介质 - Google Patents
单向通信方法、装置、用户终端及计算机可读存储介质 Download PDFInfo
- Publication number
- CN108712373A CN108712373A CN201810289496.7A CN201810289496A CN108712373A CN 108712373 A CN108712373 A CN 108712373A CN 201810289496 A CN201810289496 A CN 201810289496A CN 108712373 A CN108712373 A CN 108712373A
- Authority
- CN
- China
- Prior art keywords
- message
- recipient
- way communication
- sender
- described sender
- 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
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/161—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
- H04L69/162—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields involving adaptations of sockets based mechanisms
-
- 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/14—Session management
- H04L67/141—Setup of application sessions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/06—Notations for structuring of protocol data, e.g. abstract syntax notation one [ASN.1]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/26—Special purpose or proprietary protocols or architectures
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- Communication Control (AREA)
Abstract
本发明提供了一种单向通信方法、装置、用户终端及计算机可读存储介质,其中所述方法包括:发送方创建原始套接字并构建以太帧;所述发送方根据所述原始套接字,基于所述以太帧发送连接报文至接收方,以便于所述接收方根据所述连接报文返回回应报文;所述发送方在接收到所述回应报文后,建立单向通信协议,并根据所述单向通信协议与所述接收方进行数据交互。本发明通过使用简单的可靠的单向通信协议进行单向通信,完全满足不存在协议栈且需要进行报文交互的运行环境下的数据交互,协议栈技术简单、大大降低了开发成本,为通信领域的研发人员的研发工作带来极大的方便。
Description
技术领域
本发明涉及通信协议技术领域,更具体地说,涉及一种单向通信方法、装置、用户终端及计算机可读存储介质。
背景技术
网络数据传输是网络应用上的一个最基本的功能。TCP协议和UDP协议是两个应用的通信协议。并且绝大多数操作系统已经在内核中集成了TCP协议和UDP协议。对于通常的工作于用户状态的应用,调用操作系统的TCP或者UDP接口来实现网络数据传输是非常简便的。但是就TCP本身来说,是一个工作机制比较复杂的通信协议。而且TCP工作在IP层之上,IP层工作在链路层。
在某些情况下,比如,直接在网卡驱动上获取数据报文的应用,虽然也工作在用户模式下,但是不能使用操作系统提供的协议栈。如果该应用需要采用报文的形式和其他应用程序进行交互,就需要一套类似TCP的协议来保障所传输的数据的可靠性。由于应用环境当中,不存在任何IP/TCP协议栈,如果直接移植TCP协议栈则显得有些复杂且影响传输速度。
总之,在不能使用任何协议栈且需要进行报文交互时,保证数据传输可靠性的前提下,如果直接在链路层基础上移植现有的复杂的TCP协议栈,会导致大大增加开发成本,为通信领域的研发人员的研发工作带来极大的不便。
发明内容
有鉴于此,本发明提供一种单向通信方法、装置、用户终端及计算机可读存储介质以解决现有技术的不足。
为解决上述问题,本发明提供一种单向通信方法,包括:
发送方创建原始套接字并构建以太帧;
所述发送方根据所述原始套接字,基于所述以太帧发送连接报文至接收方;其中,所述接收方接收到所述连接报文之后,根据所述连接报文返回回应报文以确认所接收到的报文;
所述发送方在接收到所述回应报文后,根据所述单向通信协议与所述接收方进行数据交互。
优选地,所述“所述发送方根据所述原始套接字,基于所述以太帧发送连接报文至接收方;其中,所述接收方接收到所述连接报文之后,根据所述连接报文返回回应报文以确认所接收到的报文”之后,还包括:
所述接收方接收所述连接报文;
所述接收方根据所述连接报文的报文序号设置向所述发送方发送回应报文的确认序号,并向所述发送方发送确认报文。
优选地,所述“所述接收方根据所述连接报文的报文序号设置向所述发送方发送回应报文的确认序号,并向所述发送方发送确认报文”包括:
所述接收方获取所述连接报文中的报文序号;
所述接收方根据所述报文序号构建向所述发送方发送的所述回应报文的所述确认序号;其中,所述接收方确认每次发送的所述回应报文的确认序号都在前一次发送的所述回应报文的确认序号基础上有序递增;
所述接收方向所述发送方发送包括所述确认序号且与所述数据报文对应的确认报文。
优选地,所述“发送方创建原始套接字并构建以太帧”包括:
所述发送方创建原始套接字,并对所述原始套接字进行监听,以便于所述发送方基于所述原始套接字读取指定网卡所接收到的报文;
在创建所述原始套接字后,所述发送方选择未使用的以太报文类型构建以太帧。
优选地,所述“所述发送方在接收到所述回应报文后,建立单向通信协议,并根据所述单向通信协议与所述接收方进行数据交互”包括:
所述发送方接收所述接收方返回的所述回应报文,建立单向通信协议的连接;
所述发送方判断所接收到的所述回应报文是否基于所述单向通信协议;
若是,则所述发送方根据所述单向通信协议分析该报文,确认所述回应报文是否可以建立单向连接,以便于根据所述协议号与所述接收方进行数据交互。
优选地,所述“所述发送方判断所接收到的所述回应报文是否基于所述单向通信协议”之后,还包括:
若否,则所述发送方丢弃所述回应报文,并继续等待所述接收方的所述回应报文直到超时。
优选地,所述“所述发送方在接收到所述回应报文后,建立单向通信协议,并根据所述单向通信协议与所述接收方进行数据交互”之后,还包括:
所述发送方向所述接收方发送目标报文;
在预设时间内,若所述发送方未收到所述接收方根据所述目标报文返回的目标回应报文,则返回“所述发送方向所述接收方发送目标报文”;
在预设时间内,若所述发送方收到所述接收方根据所述目标报文返回的目标回应报文,则向所述接收方发送所述目标报文的下一个报文或停止发送。
此外,为解决上述问题,本发明还提供一种单向通信装置,包括:发送模块和交互模块;
所述发送模块,用于发送方创建原始套接字并构建以太帧;
所述发送模块,还用于所述发送方根据所述原始套接字,基于所述以太帧发送连接报文至接收方;其中,所述接收方接收到所述连接报文之后,根据所述连接报文返回回应报文以确认所接收到的报文;
所述交互模块,用于所述发送方在接收到所述回应报文后,根据所述单向通信协议与所述接收方进行数据交互。
此外,为解决上述问题,本发明还提供一种单向通信系统,包括发送方和接收方,其中所述发送方包括第一存储器及第一处理器,所述接收方包括第二存储器和第二处理器,所述第一存储器和所述第二存储器用于存储单向通信程序,所述第一处理器和所述第二处理器运行所述单向通信程序以使所述单向通信系统执行如上述所述单向通信方法。
此外,为解决上述问题,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有单向通信程序,所述单向通信程序被处理器执行时实现如上述所述单向通信方法。
本发明提供的一种单向通信方法、装置、用户终端及计算机可读存储介质。其中,本发明所提供的方法在保证报文内容交互的可靠性的基础上,通过创建原始套接字,并进行发送方和接收方的报文交互,从而构建简单的单向通信协议连接,并根据该协议进行数据交互。通过使用简单的可靠的单向通信协议进行单向通信,完全满足不存在协议栈且需要进行报文交互的运行环境下的数据交互,协议栈技术简单、大大降低了开发成本,为通信领域的研发人员的研发工作带来极大的方便。
附图说明
图1为本发明单向通信方法实施例方案涉及的硬件运行环境的结构示意图;
图2为本发明单向通信方法第一实施例的流程示意图;
图3为本发明单向通信方法第二实施例的流程示意图;
图4为本发明单向通信方法第三实施例的流程示意图;
图5为本发明单向通信方法第四实施例的流程示意图;
图6为本发明单向通信方法第五实施例的流程示意图;
图7为本发明单向通信方法第六实施例的流程示意图;
图8为本发明单向通信方法的报文交互流程示意图;
图9为本发明单向通信方法的报文发送方的状态跳转示意图;
图10为本发明单向通信方法报文接收方的状态跳转示意图;
图11为本发明单向通信装置的功能模块示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
下面详细描述本发明的实施例,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
在本发明中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,图1是本发明实施例方案涉及的终端的硬件运行环境的结构示意图。
本发明实施例系统可以包括发送方和接收方,其中任何一方或双方可以是PC,也可以是智能手机、平板电脑、电子书阅读器、MP3播放器、MP4播放器、便携计算机等具有显示功能的可移动式终端设备。
如图1所示,该系统的发送方和接收方均可以包括:处理器1001,例如CPU,网络接口1004,用户接口1003,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏、输入单元比如键盘、遥控器,可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器,例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
可选地,该系统还可以包括摄像头、RF(Radio Frequency,射频)电路,传感器、音频电路、WiFi模块等等。此外,移动终端还可配置陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
本领域技术人员可以理解,图1中示出的系统并不构成对系统的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机可读存储介质的存储器1005中可以包括操作系统、数据接口控制程序、网络连接程序以及单向通信程序。
本发明提供的一种单向通信方法、装置、用户终端及计算机可读存储介质。其中,所述方法通过使用简单的可靠的单向通信协议进行单向通信,完全满足不存在协议栈且需要进行报文交互的运行环境下的数据交互,协议栈技术简单、大大降低了开发成本,为通信领域的研发人员的研发工作带来极大的方便。
实施例1:
参照图2,本发明第一实施例提供一种单向通信方法,包括:
步骤S100,发送方创建原始套接字并构建以太帧;
上述,需要理解的是,所述套接字,不同于为TCP用主机的IP地址加上主机上的端口号作为TCP连接的端点,原始套接字不包含进行网络通信必需的五种信息:连接使用的协议,本地主机的IP地址,本地进程的协议端口,远地主机的IP地址,远地进程的协议端口。原始套接字只有通信双方的MAC地址。此外,接收方也要创建原始套接字以接收和发送以太报文。
上述,需要理解的是,以太帧即为以太网帧格式,即在以太网帧头、帧尾中用于实现以太网功能的域。在以太网的帧头和帧尾中有几个用于实现以太网功能的域,每个域也称为字段,有其特定的名称和目的。
上述,本实施例所提供的单向通信方法应用于发送方与接收方之间。在没有协议栈的环境中,如果需要进行数据交互或报文交互,只需建立简单的单向协议即可,需创建原始套接字并构建以太帧。
上述,发送方和接收方在需要进行单向协议的建立时,双方均需建立原始套接字并使用约定好的以太类型来构建以太帧,其中原始套接字即为通信接口,而上述以太帧即为进行数据、报文通信的载体,通过以太帧实现网卡之间的信息交互。
步骤S200,所述发送方根据所述原始套接字,基于所述以太帧发送连接报文至接收方;其中,所述接收方接收到所述连接报文之后,根据所述连接报文返回回应报文以确认所接收到的报文;
上述,发送方向接收方发送连接报文,作为连接申请;由于是向通信协议是可靠的通信,所以需要对方进行回应后继续发送下一个报文。
上述,需要理解的是,报文(message)是网络中交换与传输的数据单元,即站点一次性要发送的数据块。报文包含了将要发送的完整的数据信息,其长短很不一致,长度不限且可变。报文也是网络传输的单位,传输过程中会不断的封装成分组、包、帧来传输,封装的方式就是添加一些信息段,那些就是报文头以一定格式组织起来的数据。
步骤S300,所述发送方在接收到所述回应报文后,根据所述单向通信协议与所述接收方进行数据交互。
上述,发送方向接收方发送连接报文,接收方在接收到所述连接报文后,向发送方返回一个与连接报文序号对应的回应报文后,代表单向通信协议连接建立成功。进而根据该简单的单向通信协议进行数据交互。发送方在接收到回应报文后,即为已经确认建立了单向通信连接,从而可进行与接收方的数据交互。
本实施例所提供的一种单向通信方法在保证报文内容交互的可靠性的基础上,通过创建原始套接字,并进行发送方和接收方的报文交互,从而构建简单的单向通信协议,并根据该协议进行数据交互。通过使用简单的可靠的单向通信协议进行单向通信,完全满足不存在协议栈且需要进行报文交互的运行环境下的数据交互,协议栈技术简单、大大降低了开发成本,为通信领域的研发人员的研发工作带来极大的方便。
实施例2:
参照图3,本发明第二实施例提供一种单向通信方法,基于上述图2所示的第一实施例,所述步骤S200“所述发送方根据所述原始套接字,基于所述以太帧发送连接报文至接收方;其中,所述接收方接收到所述连接报文之后,根据所述连接报文返回回应报文以确认所接收到的报文”之后,还包括:
步骤S400,所述接收方接收所述连接报文;
上述,所述接收方在创建与发送方相对应的原始套接字,并构建用以通过网络基于网卡进行报文交互的以太帧后,所述发送方向接收方发送一个连接报文,进而接收方对该连接报文进行接收。
步骤S500,所述接收方根据所述连接报文的报文序号设置向所述发送方发送回应报文的确认序号,并向所述发送方发送确认报文。
上述,每一个报文对应的存在一个报文序号。相应地,发送方发出的连接报文存在一个连接报文的序号,接收方对发送方所发送的报文的序号进行确认,根据该报文序号设置本段的报文序号。
实施例3:
参照图4,本发明第三实施例提供一种单向通信方法,基于上述图3所示的第二实施例,所述步骤S500“所述接收方根据所述连接报文的报文序号设置向所述发送方发送回应报文的确认序号,并向所述发送方发送确认报文”包括:
步骤S510,所述接收方获取所述连接报文中的报文序号;
上述,接收方获取发送方发送的连接报文中的报文序号,用以向发送方发送确认报文,发送方收到确认报文之后,才能确认所述发送方所成功和接收方建立了连接。
步骤S520,所述接收方根据所述报文序号构建向所述发送方发送的所述回应报文的所述确认序号;其中,所述接收方确认每次发送的所述回应报文的确认序号都在前一次发送的所述回应报文的确认序号基础上有序递增;
步骤S530,所述接收方向所述发送方发送包括所述确认序号且与所述连接报文对应的确认报文。
上述,接收方根据报文序号设置本端的发送报文的序号。其中,发送方依次发出的报文,需要在该报文序号的基础上按照一定规则进行递增。接收方确认发送方发出的每一个报文的序号且报文之间的序号是按照一定规则递增的,用以确认发送方的发出报文是否连续,进而判断是否数据完整,是否存在缺失、丢包情况。接收方只会确认在上一次的报文基础上序号递增的报文,序号到达最大值之后会翻转为0。
实施例4:
参照图5,本发明第四实施例提供一种单向通信方法,基于上述图2所示的第一实施例,所述步骤S100“发送方创建原始套接字并构建以太帧”包括:
步骤S110,所述发送方创建原始套接字,并对所述原始套接字进行监听,以便于所述发送方基于所述原始套接字读取指定网卡所接收到的报文;
步骤S120,在创建所述原始套接字后,所述发送方选择未使用的以太报文类型构建以太帧。
上述,发送方和接收方在进行简单的单向通信协议时,双方均需要进行原始套接字的创建,在创建原始套接字后,均开始监听本端所创建的原始套接字,该原始套接字会接收目标是该网卡的MAC地址的所有报文。
上述,需要说明的是,以太报文类型就是一个以太报文中的字段,里面的具体的值,很多已经被使用了。有明确的含义。显然不能使用这些已经被占用的值,要挑一个没有被使用的值进行使用。
实施例5:
参照图6,本发明第五实施例提供一种单向通信方法,基于上述图2所示的第一实施例,所述步骤S300“所述发送方在接收到所述回应报文后,建立单向通信协议,并根据所述单向通信协议与所述接收方进行数据交互”包括:
步骤S310,所述发送方接收所述接收方返回的所述回应报文,建立单向通信协议的连接;
上述,需要理解的是,通信协议是指双方实体完成通信或服务所必须遵循的规则和约定。通过通信信道和设备互连起来的多个不同地理位置的数据通信系统,要使其能协同工作实现信息交换和资源共享,它们之间必须具有共同的语言。交流什么、怎样交流及何时交流,都必须遵循某种互相都能接受的规则。这个规则就是通信协议。
上述,在发送方发送一个连接报文,接收方收到该报文后,根据该报文返回一个与连接报文对应的回应报文,则表示该单向通信协议建立成功。
步骤S320,所述发送方判断所接收到的所述回应报文是否基于所述单向通信协议;
上述,发送方或接收方在接收对方所发送的报文时,均需要对该报文进行判断,判断该报文是否是基于本实施例中所提供的单向通信协议,本端所监听的原始套接字可能会接收到多个基于不同协议的报文,只有属于本实施例中的单向通信协议的报文,才能进行进一步的处理。
步骤S330,若是,则所述发送方根据所述单向通信协议分析该报文,确认所述回应报文是否可以建立单向连接,以便于根据所述协议号与所述接收方进行数据交互。
上述,如果所接收到的所述回应报文是基于所述单向通信协议,则该报文可被进行处理,以便于根据所述协议号与所述接收方进行数据交互。
步骤S340,若否,则所述发送方丢弃所述回应报文,并继续等待所述接收方的所述回应报文直到超时。
上述,如果所接收到的所述回应报文不是基于所述单向通信协议的报文,则不需要提取该报文进行处理,对该报文进行丢弃,并继续等待报文,直至超时。例如,发送了一个报文序号为n,在出现超时情况时,然后重新发送序号n的报文,如果报文n的超时次数超过3次,就回到初始状态,不再发送报文。
实施例6:
参照图7,本发明第五实施例提供一种单向通信方法,基于上述图2所示的第一实施例,所述步骤S300“所述发送方在接收到所述回应报文后,建立单向通信协议,并根据所述单向通信协议与所述接收方进行数据交互”之后,还包括:
步骤S600,所述发送方向所述接收方发送目标报文;
上述,在发送方与接收方通过连接报文与回应报文的数据交互后,双方成功建立了一个简单的单向通信协议连接,则此时开始,双方可以进行正常的单向的数据交互。例如,发送方发送目标报文至接收方,接收方回复报文至发送方。
在预设时间内,若所述发送方未收到所述接收方根据所述目标报文返回的目标回应报文,则返回“所述发送方向所述接收方发送目标报文”;
步骤S700,在预设时间内,若所述发送方收到所述接收方根据所述目标报文返回的目标回应报文,则向所述接收方发送所述目标报文的下一个报文或停止发送。
上述,如果其中一端按照一定的报文序号顺序进行发送目标报文,而另一端在接收相应的目标报文时,每次接收到相应的目标报文,便会返回一个目标回应报文,如果在一定的预设时间内,发送方没有接收到目标回应报文,则代表数据交互过程中出现丢包现象、或网络出现问题导致不通畅出现发送超时,此时发送方对该目标报文进行重新发送,即为超时重传,而不会去发送该目标报文相邻的下一个目标报文。如果在预设时间内,发送方接收到了接收方返回的目标回应报文,则证明接收方已经获取到了当次发送的目标报文,则可进一步进行目标报文的下一个报文的发送或停止发送报文。
此外,为了更好的说明本发明所提出的一种单向通信方法,参考图8-10,为本发明中所涉及的报文交互方式和相关状态跳转示意图。综上,本发明提供的一种单向通信方法、装置、用户终端及计算机可读存储介质,通过使用简单的可靠的单向通信协议进行单向通信,完全满足不存在协议栈且需要进行报文交互的运行环境下的数据交互,协议栈技术简单、大大降低了开发成本,为通信领域的研发人员的研发工作带来极大的方便。
此外,参照图11,本发明还提供一种单向通信装置,包括:发送模块10和交互模块20;
所述发送模块10,用于发送方创建原始套接字并构建以太帧;
所述发送模块10,还用于所述发送方根据所述原始套接字,基于所述以太帧发送连接报文至接收方;其中,所述接收方接收到所述连接报文之后,根据所述连接报文返回回应报文以确认所接收到的报文;
所述交互模块20,用于所述发送方在接收到所述回应报文后,根据所述单向通信协议与所述接收方进行数据交互。
此外,本发明还提供一种单向通信系统,包括发送方和接收方,其中所述发送方包括第一存储器及第一处理器,所述接收方包括第二存储器和第二处理器,所述第一存储器和所述第二存储器用于存储单向通信程序,所述第一处理器和所述第二处理器运行所述单向通信程序以使所述单向通信系统执行如上述所述单向通信方法。
此外,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有单向通信程序,所述单向通信程序被处理器执行时实现如上述所述单向通信方法。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种单向通信方法,其特征在于,包括:
发送方创建原始套接字并构建以太帧;
所述发送方根据所述原始套接字,基于所述以太帧发送连接报文至接收方;其中,所述接收方接收到所述连接报文之后,根据所述连接报文返回回应报文以确认所接收到的报文;
所述发送方在接收到所述回应报文后,根据所述单向通信协议与所述接收方进行数据交互。
2.如权利要求1所述单向通信方法,其特征在于,所述“所述发送方根据所述原始套接字,基于所述以太帧发送连接报文至接收方;其中,所述接收方接收到所述连接报文之后,根据所述连接报文返回回应报文以确认所接收到的报文”之后,还包括:
所述接收方接收所述连接报文;
所述接收方根据所述连接报文的报文序号设置向所述发送方发送回应报文的确认序号,并向所述发送方发送确认报文。
3.如权利要求2所述单向通信方法,其特征在于,所述“所述接收方根据所述连接报文的报文序号设置向所述发送方发送回应报文的确认序号,并向所述发送方发送确认报文”包括:
所述接收方获取所述连接报文中的报文序号;
所述接收方根据所述报文序号构建向所述发送方发送的所述回应报文的所述确认序号;其中,所述接收方确认每次发送的所述回应报文的确认序号都在前一次发送的所述回应报文的确认序号基础上有序递增;
所述接收方向所述发送方发送包括所述确认序号且与所述数据报文对应的确认报文。
4.如权利要求1所述单向通信方法,其特征在于,所述“发送方创建原始套接字并构建以太帧”包括:
所述发送方创建原始套接字,并对所述原始套接字进行监听,以便于所述发送方基于所述原始套接字读取指定网卡所接收到的报文;
在创建所述原始套接字后,所述发送方选择未使用的以太报文类型构建以太帧。
5.如权利要求1所述单向通信方法,其特征在于,所述“所述发送方在接收到所述回应报文后,建立单向通信协议,并根据所述单向通信协议与所述接收方进行数据交互”包括:
所述发送方接收所述接收方返回的所述回应报文,建立单向通信协议的连接;
所述发送方判断所接收到的所述回应报文是否基于所述单向通信协议;
若是,则所述发送方根据所述单向通信协议分析该报文,确认所述回应报文是否可以建立单向连接,以便于根据所述协议号与所述接收方进行数据交互。
6.如权利要求5所述单向通信方法,其特征在于,所述“所述发送方判断所接收到的所述回应报文是否基于所述单向通信协议”之后,还包括:
若否,则所述发送方丢弃所述回应报文,并继续等待所述接收方的所述回应报文直到超时。
7.如权利要求1所述单向通信方法,其特征在于,所述“所述发送方在接收到所述回应报文后,建立单向通信协议,并根据所述单向通信协议与所述接收方进行数据交互”之后,还包括:
所述发送方向所述接收方发送目标报文;
在预设时间内,若所述发送方未收到所述接收方根据所述目标报文返回的目标回应报文,则返回“所述发送方向所述接收方发送目标报文”;
在预设时间内,若所述发送方收到所述接收方根据所述目标报文返回的目标回应报文,则向所述接收方发送所述目标报文的下一个报文或停止发送。
8.一种单向通信装置,其特征在于,包括:发送模块和交互模块;
所述发送模块,用于发送方创建原始套接字并构建以太帧;
所述发送模块,还用于所述发送方根据所述原始套接字,基于所述以太帧发送连接报文至接收方;其中,所述接收方接收到所述连接报文之后,根据所述连接报文返回回应报文以确认所接收到的报文;
所述交互模块,用于所述发送方在接收到所述回应报文后,根据所述单向通信协议与所述接收方进行数据交互。
9.一种单向通信系统,其特征在于,包括发送方和接收方,其中所述发送方包括第一存储器及第一处理器,所述接收方包括第二存储器和第二处理器,所述第一存储器和所述第二存储器用于存储单向通信程序,所述第一处理器和所述第二处理器运行所述单向通信程序以使所述单向通信系统执行如权利要求1-7中任一项所述单向通信方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有单向通信程序,所述单向通信程序被处理器执行时实现如权利要求1-7中任一项所述单向通信方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810289496.7A CN108712373B (zh) | 2018-03-30 | 2018-03-30 | 单向通信方法、装置、用户终端及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810289496.7A CN108712373B (zh) | 2018-03-30 | 2018-03-30 | 单向通信方法、装置、用户终端及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108712373A true CN108712373A (zh) | 2018-10-26 |
CN108712373B CN108712373B (zh) | 2022-01-11 |
Family
ID=63866565
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810289496.7A Active CN108712373B (zh) | 2018-03-30 | 2018-03-30 | 单向通信方法、装置、用户终端及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108712373B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111245583A (zh) * | 2018-11-29 | 2020-06-05 | 瑞昱半导体股份有限公司 | 网络通信装置及方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101916219A (zh) * | 2010-07-05 | 2010-12-15 | 南京大学 | 一种片上多核网络处理器流媒体演示平台 |
CN102377778A (zh) * | 2011-10-17 | 2012-03-14 | 中国人民解放军国防科学技术大学 | 一种基于以太网的远程非对称端通信方法 |
CN102833144A (zh) * | 2011-06-15 | 2012-12-19 | 鸿富锦精密工业(深圳)有限公司 | 网卡数据传输方法及系统 |
CN103327027A (zh) * | 2013-06-28 | 2013-09-25 | 清华大学 | 内容中心网络底层实现方法、内容中心网络以及通信方法 |
CN103973414A (zh) * | 2014-04-29 | 2014-08-06 | 华为技术有限公司 | 一种数据传输方法及装置 |
US8862682B2 (en) * | 2010-02-17 | 2014-10-14 | Emulex Corporation | Accelerated sockets |
CN105007275A (zh) * | 2015-07-29 | 2015-10-28 | 浪潮(北京)电子信息产业有限公司 | 一种单向安全隔离数据传输方法和系统 |
-
2018
- 2018-03-30 CN CN201810289496.7A patent/CN108712373B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8862682B2 (en) * | 2010-02-17 | 2014-10-14 | Emulex Corporation | Accelerated sockets |
CN101916219A (zh) * | 2010-07-05 | 2010-12-15 | 南京大学 | 一种片上多核网络处理器流媒体演示平台 |
CN102833144A (zh) * | 2011-06-15 | 2012-12-19 | 鸿富锦精密工业(深圳)有限公司 | 网卡数据传输方法及系统 |
CN102377778A (zh) * | 2011-10-17 | 2012-03-14 | 中国人民解放军国防科学技术大学 | 一种基于以太网的远程非对称端通信方法 |
CN103327027A (zh) * | 2013-06-28 | 2013-09-25 | 清华大学 | 内容中心网络底层实现方法、内容中心网络以及通信方法 |
CN103973414A (zh) * | 2014-04-29 | 2014-08-06 | 华为技术有限公司 | 一种数据传输方法及装置 |
CN105007275A (zh) * | 2015-07-29 | 2015-10-28 | 浪潮(北京)电子信息产业有限公司 | 一种单向安全隔离数据传输方法和系统 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111245583A (zh) * | 2018-11-29 | 2020-06-05 | 瑞昱半导体股份有限公司 | 网络通信装置及方法 |
CN111245583B (zh) * | 2018-11-29 | 2022-04-19 | 瑞昱半导体股份有限公司 | 网络通信装置及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN108712373B (zh) | 2022-01-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106657370B (zh) | 数据传输方法及装置 | |
KR101705764B1 (ko) | 무선 도킹 | |
CN103702238B (zh) | 一种多屏视频共享方法及终端、服务器 | |
CN102916866B (zh) | 一种数据分享方法、终端、服务器以及系统 | |
CN104660708B (zh) | 一种基于http的移动应用消息推送方法及系统 | |
CN102546800B (zh) | 一种网关握手、通信方法、网关及Web通信系统 | |
CN103404132B (zh) | 视频通信方法及家庭终端、家庭服务器 | |
TWI532352B (zh) | 無演進封包核心直接通訊系統及其通訊連接方法 | |
CN102869123B (zh) | 应用于智能显示设备的虚拟外设数据采集方法及系统 | |
CN107360177B (zh) | 一种基于udp的报文传输方法及装置 | |
CN101421722A (zh) | 用于提供剪辑以在远程设备上进行查看的方法 | |
EP2573970B1 (en) | Near field communication reader device, near field communication tag device, near field communication system and near field communication method | |
CN113194550B (zh) | 数据通道的构建方法、服务器及数据集群系统 | |
CN103401898A (zh) | 在移动终端之间传输数据的方法及移动终端 | |
CN102711050A (zh) | 多人实时互动分享阅读装置及其使用方法 | |
CN103595611B (zh) | 即时通信应用的实现方法及系统、与设备 | |
CN101309169A (zh) | 一种网络管理方法及网络管理系统、网络设备 | |
CN1988537A (zh) | 一种数据传输协议 | |
CN107181794A (zh) | 基于dimse消息发送与接收的dicom网络传输系统 | |
CN117097443B (zh) | 一种具有关键数据发送反馈功能的信息系统及其发送方法 | |
CN103995680A (zh) | 终端远程通讯打印方法及其打印系统 | |
CN108712373A (zh) | 单向通信方法、装置、用户终端及计算机可读存储介质 | |
JP5931224B2 (ja) | データ・アクセス方法及び装置 | |
CN101834894A (zh) | 远程处理方法、装置及系统 | |
CN110048865A (zh) | 一种总线数据传输方法、装置、电子设备及存储介质 |
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 |