CN105245528B - 一种基于用户数据报协议(udp)的控制命令传输方法、发送端和接收端 - Google Patents
一种基于用户数据报协议(udp)的控制命令传输方法、发送端和接收端 Download PDFInfo
- Publication number
- CN105245528B CN105245528B CN201510685581.1A CN201510685581A CN105245528B CN 105245528 B CN105245528 B CN 105245528B CN 201510685581 A CN201510685581 A CN 201510685581A CN 105245528 B CN105245528 B CN 105245528B
- Authority
- CN
- China
- Prior art keywords
- control command
- packet
- transmitting terminal
- receiving end
- receiving
- 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.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L5/00—Arrangements affording multiple use of the transmission path
- H04L5/003—Arrangements for allocating sub-channels of the transmission path
- H04L5/0053—Allocation of signaling, i.e. of overhead other than pilot signals
- H04L5/0055—Physical resource allocation for ACK/NACK
-
- 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/164—Adaptation or special uses of UDP protocol
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/20—Support for services
- H04L49/201—Multicast operation; Broadcast operation
-
- 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/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
-
- 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/28—Timers or timing mechanisms used in protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2101/00—Indexing scheme associated with group H04L61/00
- H04L2101/60—Types of network addresses
- H04L2101/618—Details of network addresses
- H04L2101/663—Transport layer addresses, e.g. aspects of transmission control protocol [TCP] or user datagram protocol [UDP] ports
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2101/00—Indexing scheme associated with group H04L61/00
- H04L2101/60—Types of network addresses
- H04L2101/668—Internet protocol [IP] address subnets
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明涉及数据传输领域,提供一种基于用户数据报协议(UDP)的控制命令传输方法,包括如下步骤:S1.发送端基于用户数据包协议向接收端发送控制命令包;S2.接收端成功接收到所述控制命令包后基于用户数据包协议向发送端发送ACK包。同时提供一种根据该方法的发送端和接收端。由于采用了基于UDP传输协议的传输方式,继承了UDP协议简单,实时的优点,同时加入了接收端对发送端进行确认的步骤,提高了传输的可靠性,同时可支持多个接收端。特别适于在小数据量点对点、广播或组播控制命令传输中采用,与采用基于TCP协议的方式相比降低了资源占有率、同时提高了传输效率、和可靠性。
Description
技术领域
本发明涉及数据传输领域,更具体地,涉及一种基于用户数据报协议 (UDP)的控制命令传输方法、发送端和接收端。
背景技术
随着社会财富的积累以及生活节奏的加快,人们对优秀快捷的生活品质提出更高的要求。动听的音乐则是生活中不可缺少的一部分。音响作为音乐的发生源,被广泛利用在生活,工作,学习,娱乐中。在音箱的多房间(Multi-Room)播放模式下,因为存在播放主从关系,播放的主音箱需要把当前的播放信息传输给播放的从音箱,所以就需要实时可靠的传输。基于用户数据报协议(UDP)的传输一直以来都被行业所采用,而基于UDP 的数据传输方式是面向非连接的,发送方不需要跟接收方进行任何的协商,就将数据发出。在接收时,接收方的UDP不会给发送方ACK确认,从而会导致接收方过于繁忙而down机的情况。因此UDP虽具有效率高的优点,但其安全性和可靠性较差、易发生丢包现象。
本发明的发明人认识到,现有的数据传输方法中还没有针对UDP的上述缺陷有针对性地在小数据控制指令传输过程中解决其安全性和可靠性较差的问题。
发明内容
本发明的一个目的是提供一种基于UDP的进行小数据控制指令可靠传输的新技术方案。
根据本发明的一个方面,提供一种基于用户数据报协议(UDP)的控制命令传输方法,包括如下步骤:
S1.发送端基于用户数据包协议向接收端发送控制命令包;
S2.接收端成功接收到所述控制命令包后基于用户数据包协议向发送端发送ACK包。
优选地,所述步骤S1还包括发送端将唯一标识每一个控制命令包的命令标识附加在所述控制命令包中,以供发送;以及
所述步骤S2还包括接收端将与所接收的控制命令包相一致的命令标识附加在所述ACK包中,以供发送。
优选地,所述发送端与一个或多个接收端为点对点发送,所述步骤 S1包括:获取接收端的IP地址或IP地址列表,并向一个或多个接收端IP 地址发送控制命令包;所述步骤S2包括:获取与接收到的控制命令包相对应的发送端的IP地址,并向该地址发送ACK包。
优选地,在点对点发送中,所述方法还包括:S3.当发送端在预定的时间内收到接收端发送的ACK包时,判定命令发送成功,当发送端在预定的时间内未收到接收端发送的ACK包时,重新向该接收端发送所述控制命令包;以及
S4.当发送端在向接收端发送所述控制命令包N次后均未接收到 ACK包时,判定命令向该接收端发送失败。
优选地,所述发送端与接收端为广播或组播发送,所述步骤S1还包括发送端将组标识附加在所述控制命令包中,以供发送;以及
所述步骤S2还包括接收端将与所接收的控制命令包相一致的组标识附加在所述ACK包中,以供发送。
优选地,在广播或组播发送中,所述步骤S1还包括:获取广播或组播组地址,并以广播或组播方式发送控制命令包;所述步骤S2包括:组内接收到所述控制命令包的各接收端获取与接收到的控制命令包相对应的发送端的IP地址或广播或组播组地址,并向该地址或所述广播或组播组地址发送ACK包。
优选地,在广播或组播发送中,所述方法还包括:S3.当发送端在预定的时间内收到全部接收端发送的ACK包时,判定命令发送成功,当发送端在预定的时间内未收到全部接收端发送的ACK包时,重新广播或组播发送所述控制命令包;以及S4.当发送端在广播或组播发送所述控制命令包 N次后仍未接收到全部接收端发送的ACK包,判定命令向未成功接收的接收端发送失败。
根据本发明的另一个方面,提供一种基于用户数据报协议(UDP)的控制命令发送端,包括设置在所述发送端之中的发送模块和接收模块,所述发送模块,用于基于用户数据包协议向接收端发送控制命令包,所述接收模块,用于接收来自接收端的基于用户数据包协议的ACK包。
优选地,所述发送模块,还用于将唯一标识每一个控制命令包的命令标识附加在所述控制命令包中,以供发送。
优选地,所述发送模块,还用于向一个或多个接收端进行点对点发送,获取接收端的IP地址或IP地址列表,并向该一个或多个接收端IP地址发送控制命令包;以及所述发送模块,还用于当在预定的时间内未收到接收端发送的ACK包时,重新向该接收端发送所述控制命令包;以及所述接收模块,还用于当在预定的时间内收到接收端发送的ACK包时,判定命令发送成功,以及当在向接收端发送所述控制命令包N次后均未接收到ACK 包时,判定命令向该接收端发送失败。
优选地,所述发送模块,还用于向多个接收端进行广播或组播发送,将组标识附加在所述控制命令包中,以供发送。所述发送模块,还用于获取广播组或组播组地址,并以广播或组播方式发送控制命令包。所述发送模块,还用于当在预定的时间内未收到全部接收端发送的ACK包时,重新广播或组播发送所述控制命令包;以及所述接收模块,还用于当在预定的时间内收到全部接收端发送的ACK包时,判定命令发送成功,以及当发送端在广播或组播发送所述控制命令包N次后仍未接收到全部接收端发送的 ACK包,判定命令向未成功接收的接收端发送失败。
根据本发明的再一个方面,提供一种基于用户数据报协议(UDP)的控制命令接收端,包括设置在所述接收端之中的发送模块和接收模块,所述接收模块,用于接收来自发送端的控制命令包;所述发送模块,用于向发送端发送ACK包。
优选地,所述发送模块,还用于将与所接收的控制命令包相一致的命令标识附加在所述ACK包中,以供发送。
优选地,所述发送模块,还用于在点对点发送时,获取与接收到的控制命令包相对应的发送端的IP地址或IP地址列表,并向该地址或地址列表发送ACK包。
优选地,所述发送模块,还用于在广播或组播发送时,获取与所接收的控制命令包相一致的组标识附加在所述ACK包中,以及获取与接收到的控制命令包相对应的发送端的IP地址或广播或组播组地址,并向该地址或所述广播或组播组地址发送ACK包。
本发明的发明人发现,在现有技术中,尚未出现针对UDP的上述缺陷有针对性地在小数据控制指令传输过程中解决其安全性和可靠性较差的的技术。因此,本发明所要实现的技术任务或者所要解决的技术问题是本领域技术人员从未想到的或者没有预期到的,故本发明是一种新的技术方案。
另外,本领域技术人员应当理解,尽管现有技术中存在许多问题,但是,本发明的每个实施例或权利要求的技术方案可以仅在一个或几个方面进行改进,而不必同时解决现有技术中或者背景技术中列出的全部技术问题。本领域技术人员应当理解,对于一个权利要求中没有提到的内容不应当作为对于该权利要求的限制。
通过以下参照附图对本发明的示例性实施例的详细描述,本发明的其它特征及其优点将会变得清楚。
附图说明
被结合在说明书中并构成说明书的一部分的附图示出了本发明的实施例,并且连同其说明一起用于解释本发明的原理。
图1示出了根据本发明的一个实施例的基于用户数据报协议(UDP) 的控制命令传输流程的示意图;
图2示出了根据本发明的一个实施例的控制命令包结构的示意图;
图3示出了根据本发明的一个实施例的ACK包结构的示意图;
图4示出了根据本发明的一个实施例的发送端和接收端的框图以及以点对点方式传输控制命令的示意图;
图5示出了根据本发明的一个实施例的发送端和接收端的框图以及以广播或组播方式传输控制命令的示意图。
具体实施方式
现在将参照附图来详细描述本发明的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
在这里示出和讨论的所有例子中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它例子可以具有不同的值。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
根据本发明的一个实施例的控制命令传输方法应用在嵌入式硬件平台上,设计并实现命令的可靠性实时传输。基于用户数据报协议(UDP) 将命令实时传送给每一个接收端。本发明的方法、设备及其应用可以实施在各种不同的网络接口之上,例如,Ethernet、Wifi-STA(作为传统的连接到AP的STA模式,数据由AP转发)、Wifi-P2P(作为wifi-direct的GO 和GC的角色,由GO向GC推送数据)、以及Wifi-AP(主设备作为单独的AP,从设备作为STA连接到主设备,由主设备向从设备推送命令)。可以支持的数据传播形式包括:广播、组播、点对点UDP发送,能够根据网络实际情况做动态调整和选择合适的传输形式。
根据本发明的第一实施例,如图1所示基于用户数据报协议(UDP) 的控制命令传输方法,包括如下步骤:S1.发送端基于用户数据包协议向接收端发送控制命令包;S2.接收端成功接收到所述控制命令包后基于用户数据包协议向发送端发送ACK包。
由于本发明采用基于用户数据报协议(UDP)的传输,由于用户数据报协议(UDP)协议是面向非连接的,其本身的传输层机制决定了发送方不需要跟接收方进行任何的协商,就可以将数据发出,而接收方也不需要预先进行资源分配就可以返回ACK信号。因此,本发明的所述控制命令包一般来说适于小数据量的传输,接收和处理指令所占用的硬件资源都非常精简,但同时又在一定程度上提升了数据传输的可靠性。
优选地,所述发送端发送的控制命令包结构如图2所示,所述接收端向发送端反馈的ACK包结构的一个例子如图3所示,本领域的技术人员可以根据需要配置恰当的控制命令包结构和ACK包结构。
控制命令包结构中:
HEADER:共8个字节,是本传输方法的标示,也可以用来过滤有效的协议包;
CMD_No.RANDOM:4个字节,是本次发送命令的唯一标示,主要用来在接收到ACK包的时候判断具体是哪一个命令成功收到了。
GROUP_ID:4字节,当前命令要发送的组ID,主要在广播或组播的时候来区别不同的组。
CMD:4字节,命令实体。
ACK包结构中:
HEADER:共8字节,是本传输方法的标示,也可以用来过滤有效的协议包。
CMD_No.RANDOM:4字节,是当前接收到的这个命令的标示,来自于发送端,在发送端用来比较确认具体是哪个命令的ACK。
DEST_ID:4字节,发送端的ID,用来标示是从哪个发送端发送的命令,通常用在广播或组播传输方式中,发送端接收到ACK以后可以使用 DEST_ID来区分ACK来自哪个接收端。
GROUP_ID:4字节,标示当前的组ID,发送端会用这此字段来过滤组内有效的控制包。
CMD:4字节,成功接收到的命令实体,和CMD_No.RANDOM是一一对应的。
特别地,所述步骤S1还包括发送端将唯一标识每一个控制命令包的命令标识CMD_No.RANDOM附加在所述控制命令包中,以供发送;以及
所述步骤S2还包括接收端将与所接收的控制命令包相一致的命令标识CMD_No.RANDOM附加在所述ACK包中,以供发送。从而便于发送端识别哪个控制命令被成功接收。
根据本发明的应用,可以包括点对点发送和广播或组播发送两种应用场景。
在点对点发送场景中,所述步骤S1包括:获取一个或多个接收端的 IP地址或IP地址列表,并向该地址发送控制命令包;所述步骤S2包括:获取与接收到的控制命令包相对应的发送端的IP地址,并向该地址发送 ACK包。
当发送端在预定的时间内收到接收端发送的ACK包时,判定命令发送成功,当发送端在预定的时间内未收到接收端发送的ACK包时,重新向该接收端发送所述控制命令包;以及当发送端在向接收端发送所述控制命令包N次后均未接收到ACK包时,判定命令向该接收端发送失败。
在广播或组播发送场景中,所述步骤S1还包括发送端将组标识 GROUP_ID附加在所述控制命令包中,以供发送,获取广播或组播组地址,并以广播或组播方式发送控制命令包;以及接收端将与所接收的控制命令包相一致的组标识GROUP_ID附加在所述ACK包中,以供发送,组内接收到所述控制命令包的各接收端获取与接收到的控制命令包相对应的发送端的IP地址或广播或组播组地址,并向该地址或所述广播或组播组地址发送ACK包,即可以采用广播或组播的方式发送ACK包,发送端接收到ACK 以后可以使用DEST_ID来区分ACK来自哪个接收端。
当发送端在预定的时间内收到全部接收端发送的ACK包时,判定命令发送成功,当发送端在预定的时间内未收到全部接收端发送的ACK包时,重新广播或组播发送所述控制命令包;以及当发送端在广播或组播发送所述控制命令包N次后仍未接收到全部接收端发送的ACK包,判定命令向未成功接收的接收端发送失败。
根据本发明的另一个实施例提供一种基于用户数据报协议(UDP)的控制命令发送端100和一种基于用户数据报协议(UDP)的控制命令接收端200。所述发送端100包括设置在所述发送端之中的发送模块1001和接收模块1002,所述发送模块1001,用于基于用户数据包协议向接收端发送控制命令包,所述接收模块1002,用于接收来自接收端的基于用户数据包协议的ACK包。所述接收端200包括设置在所述接收端之中的发送模块 2001和接收模块2002,所述接收模块2002,用于接收来自发送端的控制命令包;所述发送模块2001,用于向发送端发送ACK包。
在所述发送端100中,所述发送模块1001,将唯一标识每一个控制命令包的命令标识CMD_No.RANDOM附加在所述控制命令包中,以供发送。在所述接收端200中,所述发送模块2001,将与所接收的控制命令包相一致的命令标识CMD_No.RANDOM附加在所述ACK包中,以供发送。
根据本发明的应用,可以包括点对点发送和广播或组播发送两种应用场景。
在点对点发送场景中,如图4所示,在所述发送端100中,所述发送模块1001,向接收端进行点对点发送,获取接收端的IP地址,并向该地址发送控制命令包。在所述接收端200中,所述发送模块2001,在点对点发送时,获取与接收到的控制命令包相对应的发送端的IP地址,并向该地址发送ACK包。
在所述发送端100中,所述发送模块1001,还用于当在预定的时间内未收到接收端发送的ACK包时,重新向该接收端发送所述控制命令包;以及所述接收模块1002,还用于当在预定的时间内收到接收端发送的ACK 包时,判定命令发送成功,以及当在向接收端发送所述控制命令包N次后均未接收到ACK包时,判定命令发送失败。
可选地,所述点对点发送中,对于一条需要从发送端100发出的控制命令,也可以存在多个接收端200。这样发送端100的发送模块需要获取多个接收端的IP地址列表,并向该多个接收端发送控制命令包。
在广播或组播发送场景中,如图5所示,存在一个发送端100和多个接收端200。在所述发送端100中,所述发送模块1001,向多个接收端进行广播或组播发送,将组标识GROUP_ID附加在所述控制命令包中,以供发送,并且获取广播或组播组地址,并以广播或组播方式发送控制命令包。在所述接收端200中,所述发送模块2001,在广播或组播发送时,获取与所接收的控制命令包相一致的组标识GROUP_ID附加在所述ACK包中,以及获取与接收到的控制命令包相对应的发送端的IP地址或广播或组播组地址,并向该地址或所述广播或组播组地址发送ACK包。
在所述发送端100中,所述发送模块1001,当在预定的时间内未收到全部接收端200发送的ACK包时,重新广播或组播发送所述控制命令包;以及所述接收模块1002,当在预定的时间内收到全部接收端200发送的 ACK包时,判定命令发送成功,以及当发送端在广播或组播发送所述控制命令包N次后仍未接收到全部接收端200发送的ACK包,判定命令向未成功接收的接收端发送失败。
本实施例所述的发送端100和接收端200可以是例如音箱、多媒体播放器等多种智能设备。特别适用于多房间播放方式下播放的主播放装置将控制命令、播放信息传输给从播放装置的情况。由于采用了基于UDP传输协议的传输方式,继承了UDP协议简单,实时的优点,同时加入了接收端对发送端进行确认的步骤,提高了传输的可靠性,同时可支持多个接收端。特别适于在小数据量点对点、广播或组播控制命令传输中采用,与采用基于TCP协议的方式相比降低了资源占有率、同时提高了传输效率、和可靠性。
本领域技术人员应当明白,可以通过各种方式来实现发送端100和接收端200。例如,可以通过指令配置处理器来实现各个单元和模块。例如,可以将指令存储在ROM中,并且当启动设备时,将指令从ROM读取到可编程器件中来实现各个单元和模块。例如,可以将各个单元和模块固化到专用器件(例如ASIC)中。可以将各个单元分成相互独立的单元,或者可以将它们合并在一起实现。所述单元可以通过上述各种实现方式中的一种来实现,或者可以通过上述各种实现方式中的两种或更多种方式的组合来实现。
本发明的系统和方法可以通过程序产品体现。程序产品可以包括可读存储介质,其上载有用于使处理器实现本发明的各个方面的可读程序指令。
可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。可读存储介质的更具体的例子(非穷举的列表)包括:便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的可读程序指令可以从可读存储介质下载到各个电子设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部电子设备或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个电子设备中的网络适配卡或者网络接口从网络接收可读程序指令,并转发该可读程序指令,以供存储在各个计算/处理设备中的可读存储介质中。
用于执行本发明操作的程序指令可以是汇编指令、指令集架构(ISA) 指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。可读程序指令可以完全地在用户电子设备上执行、部分地在用户电子设备上执行、作为一个独立的软件包执行、部分在用户电子设备上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户电子设备,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA) 或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。
这里参照根据本发明实施例的方法、装置的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/ 或框图中各方框的组合,都可以由可读程序指令实现。
这些可读程序指令可以提供给电子设备的处理器,从而生产出一种机器,使得这些指令在通过电子设备的处理器执行时,产生了实现流程图和/ 或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些可读程序指令存储在可读存储介质中,这些指令使得电子设备以特定方式工作,从而,存储有指令的可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把可读程序指令加载到电子设备上,使得在电子设备上执行一系列操作步骤,以产生指令实现的过程,从而使得在电子设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本发明的多个实施例的装置和方法的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与指令的组合来实现。对于本领域技术人员来说公知的是,通过硬件方式实现、通过软件方式实现以及通过软件和硬件结合的方式实现都是等价的。
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。本发明的范围由所附权利要求来限定。
Claims (16)
1.一种基于用户数据报协议(UDP)的控制命令传输方法,其特征在于,包括如下步骤:
S1.发送端基于用户数据报协议向接收端发送控制命令包;
S2.接收端成功接收到所述控制命令包后基于用户数据报协议向发送端发送ACK包;
其中,所述控制命令包和所述ACK包的结构中包括用于表明传输方式的标志;
当所述发送端与接收端为广播或组播发送时,所述步骤S1还包括发送端将组标识附加在所述控制命令包中,以供发送;以及所述步骤S2还包括接收端将与所接收的控制命令包相一致的组标识附加在所述ACK包中,以供发送。
2.根据权利要求1所述的传输方法,其特征在于,其中:
所述步骤S1还包括发送端将唯一标识每一个控制命令包的命令标识附加在所述控制命令包中,以供发送;以及
所述步骤S2还包括接收端将与所接收的控制命令包相一致的命令标识附加在所述ACK包中,以供发送。
3.根据权利要求2所述的传输方法,其特征在于,当所述发送端与一个或多个接收端为点对点发送时,所述步骤S1包括:获取接收端的IP地址或IP地址列表,并向一个或多个接收端IP地址发送控制命令包;所述步骤S2包括:获取与接收到的控制命令包相对应的发送端的IP地址,并向该地址发送ACK包。
4.根据权利要求3所述的传输方法,其特征在于,还包括:
S3.当发送端在预定的时间内收到接收端发送的ACK包时,判定命令发送成功,当发送端在预定的时间内未收到接收端发送的ACK包时,重新向该接收端发送所述控制命令包;以及
S4.当发送端在向接收端发送所述控制命令包N次后均未接收到ACK包时,判定命令向该接收端发送失败。
5.根据权利要求2所述的传输方法,其特征在于,其中所述步骤S1还包括:获取广播或组播组地址,并以广播或组播方式发送控制命令包;所述步骤S2包括:组内接收到所述控制命令包的各接收端获取与接收到的控制命令包相对应的发送端的IP地址或广播或组播组地址,并向该地址或所述广播或组播组地址发送ACK包。
6.根据权利要求5所述的传输方法,其特征在于,还包括:
S3.当发送端在预定的时间内收到全部接收端发送的ACK包时,判定命令发送成功,当发送端在预定的时间内未收到全部接收端发送的ACK包时,重新广播或组播发送所述控制命令包;以及
S4.当发送端在广播或组播发送所述控制命令包N次后仍未接收到全部接收端发送的ACK包,判定命令向未成功接收的接收端发送失败。
7.一种基于用户数据报协议(UDP)的控制命令发送端,包括设置在所述发送端之中的发送模块和接收模块,其特征在于:
所述发送模块,用于基于用户数据报协议向接收端发送控制命令包,所述接收模块,用于接收来自接收端的基于用户数据报协议的ACK包;
其中,所述控制命令包和所述ACK包的结构中包括用于表明传输方式的标志;
所述发送模块,还用于向多个接收端进行广播或组播发送,在发送时将组标识附加在所述控制命令包中,以供发送。
8.根据权利要求7所述的发送端,其特征在于,其中:
所述发送模块,还用于将唯一标识每一个控制命令包的命令标识附加在所述控制命令包中,以供发送。
9.根据权利要求8所述的发送端,其特征在于,其中:
所述发送模块,还用于向一个或多个接收端进行点对点发送,获取接收端的IP地址或IP地址列表,并向该一个或多个接收端IP地址发送控制命令包。
10.根据权利要求9所述的发送端,其特征在于,其中:
所述发送模块,还用于当在预定的时间内未收到接收端发送的ACK包时,重新向该接收端发送所述控制命令包;以及
所述接收模块,还用于当在预定的时间内收到接收端发送的ACK包时,判定命令发送成功,以及当在向接收端发送所述控制命令包N次后均未接收到ACK包时,判定命令向该接收端发送失败。
11.根据权利要求8所述的发送端,其特征在于,其中:
所述发送模块,还用于获取广播或组播组地址,并以广播或组播方式发送控制命令包。
12.根据权利要求9所述的发送端,其特征在于,其中:
所述发送模块,还用于当在预定的时间内未收到全部接收端发送的ACK包时,重新广播或组播发送所述控制命令包;以及
所述接收模块,还用于当在预定的时间内收到全部接收端发送的ACK包时,判定命令发送成功,以及当发送端在广播或组播发送所述控制命令包N次后仍未接收到全部接收端发送的ACK包,判定命令向未成功接收的接收端发送失败。
13.一种基于用户数据报协议(UDP)的控制命令接收端,包括设置在所述接收端之中的发送模块和接收模块,其特征在于:
所述接收模块,用于接收来自发送端的控制命令包;
所述发送模块,用于向发送端发送ACK包;
其中,所述控制命令包和所述ACK包的结构中包括用于表明传输方式的标志;
所述发送模块,用于在广播或组播发送时,还包括获取与所接收的控制命令包相一致的组标识符附加在所述ACK包中。
14.根据权利要求13所述的接收端,其特征在于,其中:
所述发送模块,还用于将与所接收的控制命令包相一致的命令标识附加在所述ACK包中,以供发送。
15.根据权利要求14所述的接收端,其特征在于,其中:
所述发送模块,还用于在点对点发送时,获取与接收到的控制命令包相对应的发送端的IP地址,并向该地址发送ACK包。
16.根据权利要求14所述的接收端,其特征在于,其中:
所述发送模块,用于在广播或组播发送时,还包括获取与接收到的控制命令包相对应的发送端的IP地址或广播或组播组地址,并向该地址或所述广播或组播组地址发送ACK包。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510685581.1A CN105245528B (zh) | 2015-10-20 | 2015-10-20 | 一种基于用户数据报协议(udp)的控制命令传输方法、发送端和接收端 |
US15/299,015 US10348680B2 (en) | 2015-10-20 | 2016-10-20 | UDP-based control command transmission method, sender and receiver |
EP16194772.6A EP3160109B1 (en) | 2015-10-20 | 2016-10-20 | Udp-based control command transmission method, sender and receiver |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510685581.1A CN105245528B (zh) | 2015-10-20 | 2015-10-20 | 一种基于用户数据报协议(udp)的控制命令传输方法、发送端和接收端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105245528A CN105245528A (zh) | 2016-01-13 |
CN105245528B true CN105245528B (zh) | 2019-02-12 |
Family
ID=55043028
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510685581.1A Active CN105245528B (zh) | 2015-10-20 | 2015-10-20 | 一种基于用户数据报协议(udp)的控制命令传输方法、发送端和接收端 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10348680B2 (zh) |
EP (1) | EP3160109B1 (zh) |
CN (1) | CN105245528B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106302426A (zh) * | 2016-08-09 | 2017-01-04 | 合肥埃科光电科技有限公司 | 一种基于fpga的带重发机制的udp协议栈实现方法 |
CN106506379A (zh) * | 2016-09-22 | 2017-03-15 | 福建天泉教育科技有限公司 | 一种基于局域网的数据传输方法、系统及发送端 |
CN106453356B (zh) * | 2016-10-25 | 2019-08-02 | 网宿科技股份有限公司 | 无线网络双边加速传输方法和系统 |
CN108243160B (zh) * | 2016-12-26 | 2021-02-23 | 同方威视技术股份有限公司 | 拉曼光谱设备及其通信方法 |
CN109040185A (zh) * | 2018-06-29 | 2018-12-18 | 景致三维(江苏)股份有限公司 | 阵列人像重建控制方法及系统 |
CN111246519A (zh) * | 2020-01-16 | 2020-06-05 | 杭州涂鸦信息技术有限公司 | 一种Zigbee数据传输方法及其系统和装置 |
CN113271287A (zh) * | 2020-02-17 | 2021-08-17 | 西安诺瓦星云科技股份有限公司 | 终端设备连接方法及装置 |
CN115276914B (zh) * | 2022-06-21 | 2024-02-02 | 北京网聚云联科技有限公司 | 一种基于多级缓存重传机制的udp传输方法、装置以及设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6263001B1 (en) * | 1997-08-02 | 2001-07-17 | International Business Machines Corporation | Packet data communication protocol with reduced acknowledgements in a client/server computing system |
CN102957730A (zh) * | 2011-08-29 | 2013-03-06 | 腾讯科技(深圳)有限公司 | 基于udp协议的数据传输方法和系统 |
CN104394234A (zh) * | 2014-12-15 | 2015-03-04 | 无锡中电科物联网创新研发中心 | 一种应用于环境监测的多窗口udp无线传输方法 |
CN104901889A (zh) * | 2015-05-15 | 2015-09-09 | 嘉兴市稠江光电仪器技术有限公司 | 一种基于改进型udp/ip协议的远程数据采集与控制方法 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1998051052A1 (en) * | 1997-05-06 | 1998-11-12 | Intermec Technologies Corporation | Reliable communication over an unreliable transport layer in a handheld device using user-configurable timers |
US6243751B1 (en) * | 1997-06-11 | 2001-06-05 | Oracle Corporation | Method and apparatus for coupling clients to servers |
US7561599B2 (en) * | 2005-09-19 | 2009-07-14 | Motorola, Inc. | Method of reliable multicasting |
US20070097969A1 (en) * | 2005-11-02 | 2007-05-03 | Alain Regnier | Approach for discovering network resources |
WO2008105032A1 (ja) * | 2007-02-28 | 2008-09-04 | Fujitsu Limited | クライアント装置と複数のサーバ装置からなるシステムの通信方法、その通信プログラム、クライアント装置及びサーバ装置 |
US9141580B2 (en) * | 2010-03-23 | 2015-09-22 | Citrix Systems, Inc. | Systems and methods for monitoring and maintaining consistency of a configuration |
CN102143078B (zh) * | 2011-03-29 | 2013-10-02 | 华为技术有限公司 | 一种报文处理方法、转发设备及系统 |
US8849905B2 (en) * | 2012-10-29 | 2014-09-30 | Gridcore Ab | Centralized computing |
US10019047B2 (en) * | 2012-12-21 | 2018-07-10 | Lutron Electronics Co., Inc. | Operational coordination of load control devices for control of electrical loads |
JP2015139003A (ja) * | 2014-01-20 | 2015-07-30 | 株式会社東芝 | 無線基地局、及びプログラム |
US9558718B2 (en) * | 2014-09-03 | 2017-01-31 | Qualcomm Incorporated | Streaming video data in the graphics domain |
US9496987B2 (en) * | 2014-12-11 | 2016-11-15 | International Business Machines Corporation | Method for redelivering a subset of messages in a packet to a receiver application |
US20160197736A1 (en) * | 2015-01-02 | 2016-07-07 | Cisco Technology, Inc. | Wake-On-Link |
-
2015
- 2015-10-20 CN CN201510685581.1A patent/CN105245528B/zh active Active
-
2016
- 2016-10-20 US US15/299,015 patent/US10348680B2/en active Active
- 2016-10-20 EP EP16194772.6A patent/EP3160109B1/en not_active Not-in-force
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6263001B1 (en) * | 1997-08-02 | 2001-07-17 | International Business Machines Corporation | Packet data communication protocol with reduced acknowledgements in a client/server computing system |
CN102957730A (zh) * | 2011-08-29 | 2013-03-06 | 腾讯科技(深圳)有限公司 | 基于udp协议的数据传输方法和系统 |
CN104394234A (zh) * | 2014-12-15 | 2015-03-04 | 无锡中电科物联网创新研发中心 | 一种应用于环境监测的多窗口udp无线传输方法 |
CN104901889A (zh) * | 2015-05-15 | 2015-09-09 | 嘉兴市稠江光电仪器技术有限公司 | 一种基于改进型udp/ip协议的远程数据采集与控制方法 |
Also Published As
Publication number | Publication date |
---|---|
US20170111316A1 (en) | 2017-04-20 |
US10348680B2 (en) | 2019-07-09 |
EP3160109A1 (en) | 2017-04-26 |
EP3160109B1 (en) | 2019-02-13 |
CN105245528A (zh) | 2016-01-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105245528B (zh) | 一种基于用户数据报协议(udp)的控制命令传输方法、发送端和接收端 | |
CN106233700B (zh) | 用于将蓝牙设备集成到邻居感知网络中的方法和装置 | |
JP3629174B2 (ja) | データ転送方法及び無線端末 | |
US9231738B2 (en) | Communication method for relay node and next node of the relay node for network coding | |
CN110502259B (zh) | 服务器版本升级方法、视联网系统、电子设备及存储介质 | |
CN105723656A (zh) | 针对通信会话的服务策略 | |
JP5005034B2 (ja) | 無線ネットワークにおける緊急チャネル資源割当方法 | |
CN107211029A (zh) | 对服务控制器的发现和连接 | |
CN106464510A (zh) | 高效地混合voip数据 | |
US11800284B2 (en) | Bluetooth device and method for controlling a plurality of wireless audio devices with a Bluetooth device | |
CN103220258B (zh) | 会议混音方法、终端和媒体资源服务器 | |
CN111279773A (zh) | 业务配置方法及相关产品 | |
TW202014017A (zh) | 標準化網路協定的精確時間同步 | |
CN105338535A (zh) | 一种使用移动终端进行无线组网的方法 | |
TW201543847A (zh) | 網路拓樸之識別技術與方法 | |
US8547883B2 (en) | Method and system for transmitting resource allocation information in communication system | |
WO2021088629A1 (zh) | DetNet数据包处理方法及装置 | |
CN110072267A (zh) | 智能音箱联网的方法、装置、存储介质以及智能音箱 | |
JP2013066203A (ja) | ワイヤレス通信システムの中のマルチキャストメッセージング | |
CN107078837A (zh) | 一种协议帧传输方法、装置、节点设备以及系统 | |
WO2021213000A1 (zh) | 媒体报文的传输方法、装置及系统 | |
WO2024067687A1 (zh) | 信息传输方法、第一通信节点、第二通信节点及存储介质 | |
CN111245702B (zh) | 基于5gs的数据传输方法及装置、转发设备和upf通信设备 | |
JP2009278354A (ja) | 通信装置、通信方法、プログラム、および通信システム | |
WO2017173899A1 (zh) | 一种终端、设备服务器、网络消息处理方法、系统及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20221111 Address after: 100191 room 1801, block D, Zhizhen building, 7 Zhichun Road, Haidian District, Beijing Patentee after: Bird innovation (Beijing) Technology Co.,Ltd. Address before: 100191 No. d-203, floor 1, No. 28, information road, Haidian District, Beijing Patentee before: BEIJING XIAONIAO TINGTING TECHNOLOGY Co.,Ltd. |
|
TR01 | Transfer of patent right |