CN107979582B - 一种udp数据流传输方法及其装置 - Google Patents
一种udp数据流传输方法及其装置 Download PDFInfo
- Publication number
- CN107979582B CN107979582B CN201610950668.1A CN201610950668A CN107979582B CN 107979582 B CN107979582 B CN 107979582B CN 201610950668 A CN201610950668 A CN 201610950668A CN 107979582 B CN107979582 B CN 107979582B
- Authority
- CN
- China
- Prior art keywords
- data
- udp
- module
- data stream
- preset
- 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
Images
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/164—Adaptation or special uses of UDP protocol
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/236—Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
- H04N21/23605—Creation or processing of packetized elementary streams [PES]
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供了一种udp数据流传输方法及其装置,涉及数据传输技术领域,其中,该udp数据流传输方法中包括:S10接收udp数据流并将其进行缓存;S20定时从缓存的udp数据流中读取预设大小的数据并将其发送出去,以此控制发送数据率,使其变得更加平滑,不会出现数据率过冲现象,大大降低了传输过程中的丢包率,提高了udp数据流在传输过程中的稳定性。
Description
技术领域
本发明属于数据传输技术领域,尤其涉及一种udp数据流传输方法及其装置。
背景技术
在IPTV(Internet Protocol Television,网路协定电视)直播领域,经常用到ts(Transport Stream)封装的udp(User Datagram Protocol,用户数据报协议)组播流,为了防止udp丢包,一般要求视频流的复合码率(总数据率)恒定并且传输数据率要尽可能稳定,不能波动太大。
现有的大多数编码器虽然能做到视频复合码率恒定,但是在发送速率控制上,只能做到平均数据率稳定,如果以100ms(毫秒)为周期计算数据率,有时会出现数据率过冲现象(速率在短时间内冲得很高又在短时间内下降),这种情况在带宽受限的情况下很容易出现udp丢包现象,从而造成收流端播放马赛克等现象。
发明内容
针对上述问题,本发明提供了一种udp数据流传输方法及其装置,有效解决了现有技术中udp数据流在传输过程中易出现的过冲现象。
本发明提供的技术方案如下:
一种udp数据流传输方法,包括:
S10接收udp数据流并将其进行缓存;
S20定时从缓存的udp数据流中读取预设大小的数据并将其发送出去。
进一步优选地,在步骤S10之前还包括配置接收线程、发送线程以及缓存区的步骤;
在步骤S10中具体包括:接收线程接收udp数据流,并将其缓存在缓存区中;
在步骤S20中具体包括:发送线程定时从缓存的udp数据流中读取预设大小的数据并将其发送出去。
进一步优选地,在步骤S10中具体包括:
S11初始化udp数据流接收端口;
S12实时监听udp数据流接收端口;
S13接收udp数据流并将其进行缓存。
进一步优选地,在步骤S20中具体包括:S21根据预设数据大小和复合码率计算得到发送数据的间隔时间,所述预设数据大小包括每个数据包的字节数及数据包的个数;
S22基于计算得到的间隔时间设定循环定时器;
S23当循环定时器到达中断时刻,从缓存的udp数据流中读取预设大小的数据并将其发送出去。
进一步优选地,在步骤S21中,根据预设数据大小和复合码率计算得到发送数据的间隔时间T,具体为:
T=(M*8*N*1000)/(bt*1024)
其中,M为预设数据大小中每个数据包的字节数,N为每次发送数据包的个数,bt为复合码率。
进一步优选地,步骤S23具体为:
当循环定时器到达中断时刻,进一步判断缓存的数据包是否达到预设发送的数据包的个数,若达到了,则从缓存的udp数据流中读取预设大小的数据并将其发送出去;若未达到,则读取全部的数据包发送出去。
本发明还提供了一种udp数据流传输装置,包括:
数据接收模块,用于接收udp数据流;
缓存模块,用于缓存数据接收模块接收的udp数据流;
数据读取模块,用于定时从缓存的udp数据流中读取预设大小的数据;
数据发送模块,用于将数据读取模块读取的数据发送出去。
进一步优选地,所述udp数据流传输装置中还包括:
端口初始化模块,用于初始化udp数据流接收端口;
端口监听模块,用于初始化udp数据流接收端口之后对其进行实时监听。
进一步优选地,所述udp数据流传输装置中还包括:
计算模块,用于根据预设数据大小和复合码率计算得到发送数据的间隔时间,所述预设数据大小包括每个数据包的字节数及数据包的个数;
定时器设定模块,用于基于计算模块计算得到的间隔时间设定循环定时器;
当循环定时器到达中断时刻,数据读取模块从缓存的udp数据流中读取预设大小的数据并通过数据发送模块发送出去。
进一步优选地,所述udp数据流传输装置中还包括判断模块;
当循环定时器到达中断时刻,判断模块判断缓存模块中的数据包是否达到预设发送的数据包的个数,若达到了,则数据读取模块从缓存模块中读取预设大小的数据并将其发送出去;若未达到,则数据读取模块从缓存模块中读取全部的数据包发送出去。
本发明提供的udp数据流传输方法及其装置,能够带来以下有益效果:
为了防止udp数据流在传输过程中出现数据率过冲现象,在本发明中,单独创建一个接收线程和一个发送线程,接收线程将发送过来的udp数据流进行接收并缓存,发送线程定时从缓存的udp数据流中读取预设大小的数据并将其发送出去,以此控制发送数据率,使其变得更加平滑,不会出现数据率过冲现象,大大降低了传输过程中的丢包率,提高了udp数据流在传输过程中的稳定性。
附图说明
下面将以明确易懂的方式,结合附图说明优选实施方式,对上述特性、技术特征、优点及其实现方式予以进一步说明。
图1为本发明中udp数据流传输方法流程示意图;
图2为本发明中udp数据流传输装置一种实施方式示意图;
图3为本发明中udp数据流传输装置另一种实施方式示意图;
图4为本发明中udp数据流传输装置另一种实施方式示意图;
图5为本发明中udp数据流传输装置另一种实施方式示意图;
附图标号说明:
100-udp数据流传输装置,110-数据接收模块,120-缓存模块,130-数据读取模块,140-数据发送模块,150-端口初始化模块,160-端口监听模块,170-计算模块,180-定时器设定模块,190-判断模块。
具体实施方式
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对照附图说明本发明的具体实施方式。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,并获得其他的实施方式。
如图1所示为本发明提供的udp数据流传输方法流程示意图,从图中可以看出,在该udp数据流传输方法中包括:S10接收udp数据流并将其进行缓存;S20定时从缓存的udp数据流中读取预设大小的数据并将其发送出去。
具体,在本实施方式中,在开始接收udp数据流之前,还包括配置接收线程、发送线程以及缓存区的步骤,以此在工作过程中,使用接收线程接收udp数据流,并将其缓存在固定大小的缓存区中;发送线程定时从缓存的udp数据流中读取预设大小(一定数量的数据包)的数据并将其发送出去。另外,要说明的是,在开始接收udp数据流之前,同时对对缓存区的读写操作设定互斥锁,以防止缓存区的数据读写异常。
更具体来说,在步骤S10中,接收线程接收udp数据流具体包括:S11初始化udp数据流接收端口;S12实时监听udp数据流接收端口;S13接收udp数据流并将其进行缓存,持续循环步骤S12和步骤13直至停止工作。
在步骤S20中,接收线程定时从缓存的udp数据流中读取预设大小的数据并将其发送出去具体包括:S21根据预设数据大小和复合码率计算得到发送数据的间隔时间,预设数据大小包括每个数据包的字节数及数据包的个数;S22基于计算得到的间隔时间设定循环定时器;S23当循环定时器到达中断时刻,从缓存的udp数据流中读取预设大小的数据并将其发送出去。其中,在步骤S21中,根据预设数据大小和复合码率计算得到发送数据的间隔时间T(单位ms),具体为:
T=(M*8*N*1000)/(bt*1024)
其中,M为预设数据大小中每个数据包的字节数,N为每次发送数据包的个数,bt为复合码率,单位为kbps。
在一个具体实例中,每个数据包中的字节数M为188,每次发送的数据包的个数为10,复合码率bt为1mbps,则根据公式计算得到间隔时间T约为14ms。要说明的是,在其他实例中,每次发送数据包的个数M还可以设定为其他值,一般取1~15,不宜过大,否则也会出现发送速率过冲现象。在实际应用中,可通过调整每次发送数据包的个数调整间隔时间T,考虑循环定时器的精度,间隔时间T在5ms以上为宜。对于输入的udp数据流,要求复合码率恒定,以免缓存区中出现溢出的情况。
基于此,在实际应用中,根据预设数据大小和复合码率计算得到发送数据包的间隔时间T之后,初始化循环定时器,将其定时时间设定为计算得到的间隔时间T,同时设定中断服务程序入口;之后,启动循环定时器,空循环后等待循环定时器中断。当循环定时器中断,发送线程从缓存区中读取固定数量的数据包进行发送,定时中断处理结束。
更进一步来说,当循环定时器到达中断时刻,进一步判断缓存的数据包是否达到预设发送的数据包的个数,若达到了,则从缓存的udp数据流中读取预设大小的数据并将其发送出去;若未达到,则读取全部的数据包发送出去。
如图2所示为本发明提供的udp数据流传输装置一种实施方式示意图,从图中可以看出,在该udp数据流传输装置100中包括:数据接收模块110、缓存模块120、数据读取模块130以及数据发送模块140。
在工作过程中,数据接收模块110接收到udp数据流之后将其缓存在缓存模块120中;之后数据读取模块130定时从缓存的udp数据流中读取预设大小的数据并通过数据发送模块140发送出去。
具体,在本实施方式中,还包括配置模块,在数据接收模块110开始接收udp数据流之前,配置模块配置接收线程(即上述数据接收模块110)、发送线程(即上述数据发送模块140)以及缓存区。以此在工作过程中,使用接收线程接收udp数据流,并将其缓存在固定大小的缓存区中;发送线程定时从缓存的udp数据流中读取预设大小(一定数量的数据包)的数据并将其发送出去。另外,要说明的是,在开始接收udp数据流之前,同时对对缓存区的读写操作设定互斥锁,以防止缓存区的数据读写异常。
对上述实施方式进行改进得到本实施方式,如图3所示,在本实施方式中,在该udp数据流传输装置100中包括数据接收模块110、缓存模块120、数据读取模块130以及数据发送模块140之外,还包括端口初始化模块150和端口监听模块160。
在工作过程中,端口初始化模块150初始化udp数据流接收端口之后,端口监听模块160实时监听udp数据流接收端口;若监听到有udp数据流,数据接收模块110接收到udp数据流之后将其缓存在缓存模块120中,以此循环监听和存储的步骤直至停止工作。
对上述实施方式进行改进得到本实施方式,如图4所示,在本实施方式中,在该udp数据流传输装置100中包括数据接收模块110、缓存模块120、数据读取模块130、数据发送模块140、端口初始化模块150以及端口监听模块160之外,还包括计算模块170和定时器设定模块180。
具体来说,计算模块170根据预设数据大小和复合码率计算得到发送数据的间隔时间,预设数据大小包括每个数据包的字节数及数据包的个数;定时器设定模块180基于计算得到的间隔时间设定循环定时器;当循环定时器到达中断时刻,从缓存的udp数据流中读取预设大小的数据并将其发送出去。
更具体来说,在计算模块170中,根据预设数据大小和复合码率计算得到发送数据的间隔时间T具体为:
T=(M*8*N*1000)/(bt*1024)
其中,M为预设数据大小中每个数据包的字节数,N为每次发送数据包的个数,bt为复合码率,单位为kbps。
在一个具体实例中,每个数据包中的字节数M为188,每次发送的数据包的个数为10,复合码率bt为1mbps,则根据公式计算得到间隔时间T约为14ms。要说明的是,在其他实例中,每次发送数据包的个数M还可以设定为其他值,一般取1~15,不宜过大,否则也会出现发送速率过冲现象。在实际应用中,可通过调整每次发送数据包的个数调整间隔时间T,考虑循环定时器的精度,间隔时间T在5ms以上为宜。对于输入的udp数据流,要求复合码率恒定,以免缓存区中出现溢出的情况。
基于此,在实际应用中,计算模块170根据预设数据大小和复合码率计算得到发送数据包的间隔时间T之后,初始化循环定时器,将其定时时间设定为计算得到的间隔时间T,同时设定中断服务程序入口;之后,启动循环定时器,空循环后等待循环定时器中断。当循环定时器中断,发送线程从缓存区中读取固定数量的数据包进行发送,定时中断处理结束。
对上述实施方式进行改进得到本实施方式,如图4所示,在本实施方式中,在该udp数据流传输装置100中包括数据接收模块110、缓存模块120、数据读取模块130、数据发送模块140、端口初始化模块150、端口监听模块160、计算模块170以及定时器设定模块180之外,还包括判断模块190。
在工作过程中,当循环定时器到达中断时刻,判断模块190判断缓存模块120中的数据包是否达到预设发送的数据包的个数,若达到了,则数据读取模块130从缓存模块120中读取预设大小的数据并将其发送出去;若未达到,则数据读取模块130从缓存模块120中读取全部的数据包发送出去。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (7)
1.一种udp数据流传输方法,其特征在于,所述udp数据流传输方法中包括:
S10接收udp数据流并将其进行缓存;
S20定时从缓存的udp数据流中读取预设大小的数据并将其发送出去;
在步骤S20中具体包括:
S21根据预设数据大小和复合码率计算得到发送数据的间隔时间,所述预设数据大小包括每个数据包的字节数及数据包的个数;
S22基于计算得到的间隔时间设定循环定时器;
S23当循环定时器到达中断时刻,从缓存的udp数据流中读取预设大小的数据并将其发送出去;
在步骤S21中,根据预设数据大小和复合码率计算得到发送数据的间隔时间T,具体为:
T=(M*8*N*1000)/(bt*1024)
其中,M为预设数据大小中每个数据包的字节数,N为每次发送数据包的个数,bt为复合码率,bt的单位为kbps,T的单位为ms。
2.如权利要求1所述的udp数据流传输方法,其特征在于,
在步骤S10之前还包括配置接收线程、发送线程以及缓存区的步骤;
在步骤S10中具体包括:接收线程接收udp数据流,并将其缓存在缓存区中;
在步骤S20中具体包括:发送线程定时从缓存的udp数据流中读取预设大小的数据并将其发送出去。
3.如权利要求1或2所述的udp数据流传输方法,其特征在于,在步骤S10中具体包括:
S11初始化udp数据流接收端口;
S12实时监听udp数据流接收端口;
S13接收udp数据流并将其进行缓存。
4.如权利要求1或2所述的udp数据流传输方法,其特征在于,步骤S23具体为:
当循环定时器到达中断时刻,进一步判断缓存的数据包是否达到预设发送的数据包的个数,若达到了,则从缓存的udp数据流中读取预设大小的数据并将其发送出去;若未达到,则读取全部的数据包发送出去。
5.一种udp数据流传输装置,其特征在于,所述udp数据流传输装置中包括:
数据接收模块,用于接收udp数据流;
缓存模块,用于缓存数据接收模块接收的udp数据流;
数据读取模块,用于定时从缓存的udp数据流中读取预设大小的数据;
数据发送模块,用于将数据读取模块读取的数据发送出去;
所述udp数据流传输装置中还包括:
计算模块,用于根据预设数据大小和复合码率计算得到发送数据的间隔时间,所述预设数据大小包括每个数据包的字节数及数据包的个数;具体为:
T=(M*8*N*1000)/(bt*1024)
其中,M为预设数据大小中每个数据包的字节数,N为每次发送数据包的个数,bt为复合码率,bt的单位为kbps,T的单位为ms;
定时器设定模块,用于基于计算模块计算得到的间隔时间设定循环定时器;
当循环定时器到达中断时刻,数据读取模块从缓存的udp数据流中读取预设大小的数据并通过数据发送模块发送出去。
6.如权利要求5所述的udp数据流传输装置,其特征在于,所述udp数据流传输装置中还包括:
端口初始化模块,用于初始化udp数据流接收端口;
端口监听模块,用于初始化udp数据流接收端口之后对其进行实时监听。
7.如权利要求5所述的udp数据流传输装置,其特征在于,所述udp数据流传输装置中还包括判断模块;
当循环定时器到达中断时刻,判断模块判断缓存模块中的数据包是否达到预设发送的数据包的个数,若达到了,则数据读取模块从缓存模块中读取预设大小的数据并将其发送出去;若未达到,则数据读取模块从缓存模块中读取全部的数据包发送出去。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610950668.1A CN107979582B (zh) | 2016-10-25 | 2016-10-25 | 一种udp数据流传输方法及其装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610950668.1A CN107979582B (zh) | 2016-10-25 | 2016-10-25 | 一种udp数据流传输方法及其装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107979582A CN107979582A (zh) | 2018-05-01 |
CN107979582B true CN107979582B (zh) | 2020-08-14 |
Family
ID=62004196
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610950668.1A Active CN107979582B (zh) | 2016-10-25 | 2016-10-25 | 一种udp数据流传输方法及其装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107979582B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109104379A (zh) * | 2018-06-28 | 2018-12-28 | 山东超越数控电子股份有限公司 | 一种避免udp协议丢包的电路结构及方法 |
CN110661992A (zh) * | 2018-06-29 | 2020-01-07 | 视联动力信息技术股份有限公司 | 数据处理方法和装置 |
CN109151487B (zh) * | 2018-09-07 | 2021-01-01 | 视联动力信息技术股份有限公司 | 一种直播多媒体数据的处理方法和装置 |
CN110912830B (zh) * | 2018-09-17 | 2023-05-02 | 杭州海康威视系统技术有限公司 | 传输数据的方法和装置 |
CN109391929B (zh) * | 2018-11-23 | 2022-02-22 | 深圳时空壶技术有限公司 | 低功耗蓝牙数据传输方法及电子设备 |
CN109802989A (zh) * | 2018-11-28 | 2019-05-24 | 华为技术有限公司 | 数据传输方法和装置、服务器和终端 |
CN109815839B (zh) * | 2018-12-29 | 2021-10-08 | 深圳云天励飞技术有限公司 | 微服务架构下的徘徊人员识别方法及相关产品 |
CN111092907B (zh) * | 2019-12-30 | 2021-09-03 | 人和未来生物科技(长沙)有限公司 | 基于udp协议的数据流快速传输方法、系统及介质 |
CN112787993A (zh) * | 2020-12-25 | 2021-05-11 | 北京金万维科技有限公司 | 一种基于udp协议高并发http请求缓存和内容推送系统及方法 |
CN112769939B (zh) * | 2021-01-13 | 2023-03-21 | 北京机电工程总体设计部 | 一种用于实时通讯的大数据可靠传输方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101656756A (zh) * | 2009-09-17 | 2010-02-24 | 中国科学院声学研究所 | 一种发送速率自适应控制的文件传输方法及其系统 |
CN103956834A (zh) * | 2014-05-21 | 2014-07-30 | 国家电网公司 | 一种用户端负荷控制方法和系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4805072B2 (ja) * | 2006-09-14 | 2011-11-02 | 日本電信電話株式会社 | 通信システム |
-
2016
- 2016-10-25 CN CN201610950668.1A patent/CN107979582B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101656756A (zh) * | 2009-09-17 | 2010-02-24 | 中国科学院声学研究所 | 一种发送速率自适应控制的文件传输方法及其系统 |
CN103956834A (zh) * | 2014-05-21 | 2014-07-30 | 国家电网公司 | 一种用户端负荷控制方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN107979582A (zh) | 2018-05-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107979582B (zh) | 一种udp数据流传输方法及其装置 | |
US9532062B2 (en) | Controlling player buffer and video encoder for adaptive video streaming | |
US8654638B2 (en) | Dynamically adjusting bandwidth usage among subscriber streams | |
US20220272402A1 (en) | Video stream playing method, system, terminal and storage medium | |
US9794311B2 (en) | Transport accelerator implementing extended transmission control functionality | |
US10355995B2 (en) | Identifying a network condition using estimated processor load | |
CN110113662B (zh) | 一种适应多种网络状况的视频监控客户端系统 | |
CN113225598A (zh) | 移动端音视频同步的方法、装置、设备及存储介质 | |
EP3560207A1 (en) | Managing congestion response during content delivery | |
CN102244773A (zh) | 一种基于窄变带宽网络的实时视频流传输方法 | |
KR20050052468A (ko) | 국내 멀티미디어 전송 방법 및 시스템 | |
CN103002354A (zh) | 一种消除视频数据传输网络抖动的方法及系统 | |
KR100982630B1 (ko) | 콘텐츠의 스트림 비트율을 조정하기 위한 디바이스 및프로세스 그리고 관련 제품 | |
CN111886875A (zh) | 及时媒体传送的拥塞响应 | |
US11050805B2 (en) | Method of controlling stream buffer in media playback device and related buffering device | |
WO2015135349A1 (zh) | 一种流媒体网关的码率控制方法 | |
KR20040080942A (ko) | 무선 휴대 장치를 위한 멀티미디어 스트리밍 시스템 | |
WO2017021943A1 (en) | Identifying network conditions | |
US10270832B1 (en) | Method and system for modifying a media stream having a variable data rate | |
CN105245946B (zh) | 可变码率媒体流的流量控制方法、装置以及系统 | |
CN114513620A (zh) | 基于WebRTC弱网环境的视频丢帧补帧传输方法及系统和应用 | |
Ma et al. | Scalability of HTTP pacing with intelligent bursting | |
GB2572357A (en) | Congestion response for timely media delivery | |
CN109413485B (zh) | 数据缓存方法及装置 | |
WO2020048268A1 (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 |