CN103986733B - 一种网络接口模式和基于该网络接口模式的数据通信方法 - Google Patents
一种网络接口模式和基于该网络接口模式的数据通信方法 Download PDFInfo
- Publication number
- CN103986733B CN103986733B CN201410245778.9A CN201410245778A CN103986733B CN 103986733 B CN103986733 B CN 103986733B CN 201410245778 A CN201410245778 A CN 201410245778A CN 103986733 B CN103986733 B CN 103986733B
- Authority
- CN
- China
- Prior art keywords
- data
- user terminal
- proactor
- tcp
- internets
- 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
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明所述的网络接口模式和基于该网络接口模式的数据通信方法,采用一个统一的网络接口模式PROACTOR,实现用户端与TCP/IP网络层之间的数据传输,用户端利用网络接口模式PROACTOR编写网络程序时,只需一份代码,用户端每个使用网络的程序就可以在WINDOWS平台下和LINUX平台下都能使用。
Description
技术领域
本发明涉及网络通讯技术领域,具体地涉及一种网络接口模式和基于该网络接口模式的数据通信方法。
背景技术
随着网络技术的不断普及,很多应用程序都会涉及到TCP/IP网络,如何有效地,快速地开发出稳定,健壮,可扩展,高性能的网络程序是所有程序员都面临的问题。
传统的网络接口模式通常采用SELECT模式和POLL模式,SELECT模式和POLL模式都是内部使用轮询的方式去遍历每个SOCKET的数据信息,这样在大量网络连接少量请求的时候会造成CPU空转的现象,效率低下,而且采用SELECT模式时,会有一个最大的SOCKET个数为1024的限制,所以传统的SELECT模式和POLL模式通过轮询去触发网络事件已经不足以满足现代服务器和应用程序在性能方面的需求。
WINDOWS平台下的IOCP模式和LINUX下的EPOLL模式使用事件驱动的模式,当某个SOCKET有网络信息到达的时候会通过相应的事件直接触发,不需要去轮询,而且也没有SOCKET最大的SOCKET个数为1024的限制。IOCP是一组WINDOWS平台下的API的集合,EPOLL是一组LINUX平台下的API集合,他们各自在自己的系统上完成TCP/IP的网络功能。但是IOCP模式和EPOLL模式的应用受到系统的严格限制,虽然都完成了TCP网络层的功能,但是必须针对WINDOWS平台调用IOCP模式,LINUX平台调用EPOLL模式。这样为了能够使用户端每个使用网络的程序能够在WINDOWS平台下和LINUX平台下都能使用,其必须编写两份代码,给用户使用带来不便。
发明内容
为此,本发明所要解决的技术问题在于现有技术中网络接口模式没有进行封装,不能跨平台应用,用户使用不方便,从而提出一种网络接口模式和基于该网络接口模式的数据通信方法。
为解决上述技术问题,本发明提供如下技术方案:
一种数据通信方法,用户端采用网络接口模式PROACTOR实现与TCP/IP网络层的数据传输,其中:
当数据从所述TCP/IP网络层所在系统内核读取到用户端提供的缓冲区中,所述网络接口模式PROACTOR通知用户端接收数据;
当所述TCP/IP网络层所在系统的缓冲区具有足够存储空间时,所述网络接口模式PROACTOR通知用户端可发送数据。
上述数据通信方法,当用户端在WINDOWS平台下时,数据收发过程如下:
所述用户端读取数据时:
用户端发送读请求,将用户端空间缓存传递给TCP/IP网络层所在系统内核;
TCP/IP网络层所在系统内核在有数据要传输时,将待传输数据写入到内核中的用户端空间缓存;
通过网络接口模式PROACTOR通知用户端接收数据;
所述用户端发送数据时:
用户端发送一个发送请求,请求一个或者多个空间缓存发送数据;
如果TCP/IP网络层所在系统的缓冲区有足够存储空间,将全部待发送数据存储至TCP/IP网络层所在系统的缓冲区,所述网络接口模式PROACTOR屏蔽成功发送数据的通知;
如果TCP/IP网络层所在系统的缓冲区的存储空间不足,所述网络接口模式PROACTOR通知用户端不能发送数据,在空间不足的状态下,所述网络接口模式PROACTOR接收到最后一次成功发送数据的通知时,所述网络接口模式PROACTOR通知用户端可发送数据。
上述数据通信方法,当用户端在LINUX平台下时,数据收发过程如下:
所述用户端读取数据时:
用户端发送读请求,将用户端空间缓存传送给所述网络接口模式PROACTOR;
TCP/IP网络层所在系统内核有数据要传输时,将待传输数据写入到所述网络接口模式PROACTOR中的用户端空间缓存;
再通过所述网络接口模式PROACTOR通知用户端接收数据;
所述用户端发送数据时:
如果TCP/IP网络层所在系统的缓冲区有足够存储空间,将全部待发送数据存储到TCP/IP网络层所在系统的缓冲区;所述网络接口模式PROACTOR通知用户端可以发送数据;
如果TCP/IP网络层所在系统的缓冲区的存储空间不足,所述网络接口模式PROACTOR通知用户端不能发送消息,直到TCP/IP网络层所在系统的缓冲区有三分之一空闲时,再通过所述网络接口模式PROACTOR通知用户端可发送数据。
上述数据通信方法,所述网络接口模式PROACTOR包括SendData函数,所述用户端可通过所述SendData函数将全部待发送数据完整的发送至TCP/IP网络层所在系统内核且不会有剩余数据。
一种网络接口模式,其内封装有IOCP网络接口模式、EPOLL网络接口模式、IOCP的PROACTOR实现模式以及EPOLL的PROACTOR实现模式,其中:
所述IOCP网络接口模式用于WINDOWS平台下的用户端实现读取数据;
所述IOCP的PROACTOR实现模式用于WINDOWS平台下的用户端实现发送数据;
所述EPOLL的PROACTOR实现模式用于LINUX平台下的用户端实现读取数据;
所述EPOLL网络接口模式用于LINUX平台下的用户端实现发送数据。
上述网络接口模式,所述IOCP的PROACTOR实现模式是指:
TCP/IP网络层所在系统的缓冲区有足够存储空间时:
屏蔽用户端成功发送数据的通知;
TCP/IP网络层所在系统的缓冲区的存储空间不足时:
接收到的最后一次成功发送数据的通知转换为用户端可发送数据的通知。
上述网络接口模式,所述EPOLL的PROACTOR实现模式是指将用户端空间缓存传送给网络接口模式PROACTOR;TCP/IP网络层所在系统内核在有数据要传输时,将待传输数据写入到网络接口模式PROACTOR中的用户端空间缓存;
上述网络接口模式,用户端在WINDOWS平台下时,若用户端可以读取或者发送数据时,先由所述IOCP网络接口模式通知所述网络接口模式PROACTOR,然后由所述网络接口模式PROACTOR通知用户端可以读取或者发送数据。
上述网络接口模式,用户端在LINUX平台下时,若用户端可以读取或者发送数据时,先由所述EPOLL网络接口模式通知所述网络接口模式PROACTOR,然后由所述网络接口模式PROACTOR通知用户端可以读取或者发送数据。
上述网络接口模式,还包括SendData函数,所述用户端可通过所述SendData函数将全部待发送数据完整的发送至TCP/IP网络层所在系统而不会有剩余数据。
本发明的上述技术方案相比现有技术具有以下优点:
(1)本发明所述的网络接口模式和基于该网络接口模式的数据通信方法,采用一个统一的网络接口模式PROACTOR,实现用户端与TCP/IP网络层之间的数据传输,用户利用网络接口模式PROACTOR编写网络程序,只需一份代码,用户端每个使用网络的程序就可以在WINDOWS平台下和LINUX平台下都能使用。
(2)本发明所述的网络接口模式和基于该网络接口模式的数据通信方法,在WINDOWS平台下,读取数据时采用IOCP的读取机制,发送数据时,分为两种情况,TCP/IP网络层所在系统的缓冲区有足够存储空间时,网络接口模式PROACTOR屏蔽成功发送数据的通知,如果TCP/IP网络层所在系统的缓冲区的存储空间不足,网络接口模式PROACTOR接收到最后一次成功发送数据的通知时,所述网络接口模式PROACTOR通知用户端可发送数据,这样就完成了IOCP的PROACTOR实现,网络接口模式PROACTOR就可以在WINDOWS平台下使用。
(3)本发明所述的网络接口模式和基于该网络接口模式的数据通信方法,在LINUX平台下,发送数据时,采用EPOLL的发送机制,读取数据时,通过网络接口模式PROACTOR读取数据到用户提供的缓存中,这样就完成了EPOLL的PROACTOR实现,网络接口模式PROACTOR就可以在LINUX平台下使用。
(4)本发明所述的网络接口模式和基于该网络接口模式的数据通信方法,网络接口模式PROACTOR中的SendData函数,所述用户端可通过所述SendData函数将全部待发送数据完整的发送至TCP/IP网络层所在系统内核且不会有剩余数据,保证了数据的完整发送,给上层的应用提供了很大的便利。
附图说明
为了使本发明的内容更容易被清楚的理解,下面根据本发明的具体实施例并结合附图,对本发明作进一步详细的说明,其中
图1是本发明一个实施例的一种数据通信方法的流程图;
图2是本发明一个实施例的一种网络接口模式的原理框图。
具体实施方式
实施例1
本实施例提供一种数据通信方法,如图1所示:用户端采用网络接口模式PROACTOR实现与TCP/IP网络层的数据传输,其中:当数据从所述TCP/IP网络层所在系统内核读取到用户端提供的缓冲区中,所述网络接口模式PROACTOR通知用户端接收数据;当所述TCP/IP网络层所在系统的缓冲区具有足够存储空间时,所述网络接口模式PROACTOR通知用户端可发送数据。
网络接口模式PROACTOR是一种异步完成通知的模式,PROACOTR模式来自《Pattern-Oriented Software Architecture》系列丛书,POSA是Pattern-OrientedSoftware Architecture(面向模式的软件架构)的缩写,即软件架构的所有实现都是出自某个已有或者创造的模式,可以是单个模式,也可以多个模式的组合,现在复杂的软件框架基本上都是多个模式的组合。
当用户端在WINDOWS平台下时,数据收发过程如下:
所述用户端读取数据时:
用户端发送读请求,将用户端空间缓存传递给TCP/IP网络层所在系统内核;
TCP/IP网络层所在系统内核在有数据要传输时,将待传输数据写入到内核中的用户端空间缓存;
通过网络接口模式PROACTOR通知用户端接收数据;
这样在系统内核就少了一次数据的拷贝,但是当用户端传递的空间缓存用完之后,系统还是会使用内核的网络缓冲区缓存数据信息,
所述用户端发送数据时:
用户端发送一个发送请求,请求一个或者多个空间缓存发送数据;
如果TCP/IP网络层所在系统的缓冲区有足够存储空间,系统将全部待发送数据存储至TCP/IP网络层所在系统的缓冲区,然后不锁定该缓冲区,由上层程序自己处理,这时会有一个消息通知用户端成功发送数据,所述网络接口模式PROACTOR屏蔽成功发送数据的通知,TCP/IP网络层所在系统的缓冲区在网络合适的时候,将待发送数据拷贝到网卡缓冲区,进行真正的发送;
如果TCP/IP网络层所在系统的缓冲区的存储空间不足,用户端请求空间缓存去发送时会返回PENDING(阻塞)的通知,表示此时TCP/IP网络层所在系统的缓冲区已满,暂时没有剩余的缓存用来存储用户端空间缓存中的数据信息,这时系统会锁定用户端的空间缓存,用户端的空间缓存会被锁定到系统的非分页内存中,所述网络接口模式PROACTOR通知用户端不能发送数据,所述网络接口模式PROACTOR接收到最后一次成功发送数据的通知时,所述网络接口模式PROACTOR通知用户端可发送数据。
用户端每发送一个发送请求计数器就会加1,每收到成功发送数据的通知计数器就会减1,如果TCP/IP网络层所在系统的缓冲区有足够存储空间,用户端可以一直发送,网络接口模式PROACTOR屏蔽掉每次成功发送数据的通知;如果TCP/IP网络层所在系统的缓冲区存储空间不足,则用户端请求空间缓存去发送时会返回PENDING(阻塞)的通知,这时系统会锁定用户端的空间缓存,用户端的空间缓存会被锁定到系统的非分页内存中,所述网络接口模式PROACTOR通知用户端不能发送数据,在PENDING状态下,TCP/IP网络层所在系统的缓冲区有足够空间时,TCP/IP网络层所在系统的缓冲区拷贝锁定的用户端空间缓存中的数据,当收到最后一次成功发送数据的通知时,计数器显示为0,这时所述网络接口模式PROACTOR将最后一次成功发送数据的通知转换为通知用户端可发送数据的通知。
当用户端在LINUX平台下时,数据收发过程如下:
所述用户端读取数据时:
用户端发送读请求,提前将用户端空间缓存传送给所述网络接口模式PROACTOR;
TCP/IP网络层所在系统内核有数据要传输时,将待传输数据写入到所述网络接口模式PROACTOR中的用户端空间缓存;
再通过所述网络接口模式PROACTOR通知用户端接收数据;
所述用户端发送数据时:
如果TCP/IP网络层所在系统的缓冲区有足够存储空间,将全部待发送数据存储到TCP/IP网络层所在系统的缓冲区;所述网络接口模式PROACTOR通知用户端可以发送数据;
如果TCP/IP网络层所在系统的缓冲区的存储空间不足,所述网络接口模式PROACTOR通知用户端不能继续发送消息,直到TCP/IP网络层所在系统的缓冲区有三分之一空闲时,再通过所述网络接口模式PROACTOR通知用户端可发送数据。
网络接口模式PROACTOR对于WINDOWS平台和LINUX平台的公共接口,
IPosaNetHandler
-int m_hSocket
-CPosaNetRequest*m_pSendReq
+HandleAccept()
+HandleConnect()
+HandleClose()
+HandleRead()
+HandleSend()
+SendData()
其中:IPosaNetHandler是需要用户端实现的类;HandleAccept通知用户端有新的连接到来,参数为SOCKET的fd,用于SERVER的通知;HandleConnect通知用户发起的连接成功,用于客户端发起请求;HandleClose用于断链通知;HandleRead通知用户端有新的数据到来,数据在CPosaBuffer参数内;HandleSend通知用户现在可以发送数据了;SendData发送数据。
在WINDOWS平台下,调用SendData时,即发送数据时,如果TCP/IP网络层所在系统的缓冲区有足够空间,会把待发送数据完整拷贝,如果空间不足,系统将锁定用户端空间缓存,请求发送的缓冲区将会被锁定到系统的非分页内存中,这个时候该数据区域不能被重写,直到TCP/IP网络层所在系统的缓存去有空余的地方来接受拷贝用户端空间缓存中的数据才拷贝走,每次发送,不会产生只发送一部分数据的情况,每次都是数据被全部发送成功。
在LINUX平台下,调用SendData时,即发送数据时,每次发送只会发送TCP/IP网络层所在系统的缓冲区能容纳的部分,在TCP/IP网络层所在系统的缓冲区空间不足时,会产生只发送部分数据的情况,网络接口模式PROACTOR将剩余部分的数据拷贝到网络接口模式PROACTOR的缓冲区中,然后监控可以可发送通知,收到可发送通知后,首先将上次剩余部分的数据发送完成,直到没有剩余部分的数据要发送了,PROACTOR通知用户端可发送数据。
这样,无论用户端在哪个平台下应用,用户端调用SendData发送数据的语义都是只要调用这个函数,就一定能保证数据被完整地发送,不需要用户端在上层缓冲区中缓存剩余部分的信息,这个行为对用户来说是非常方便的,尤其能保证数据的完整性。
实施例2
本实施例提供一种网络接口模式,如图2所示,其内封装有IOCP网络接口模式、EPOLL网络接口模式、IOCP的PROACTOR实现模式以及EPOLL的PROACTOR实现模式,其中:
所述IOCP网络接口模式用于WINDOWS平台的用户端实现读取数据;
所述IOCP的PROACTOR实现模式用于WINDOWS平台的用户端实现发送数据;
所述EPOLL的PROACTOR实现模式用于LINUX平台的用户端实现读取数据;
所述EPOLL网络接口模式用于LINUX平台的用户端实现发送数据。
所述IOCP的PROACTOR实现模式是指:
TCP/IP网络层所在系统的缓冲区有足够存储空间时:
屏蔽用户端成功发送数据的通知;
TCP/IP网络层所在系统的缓冲区的存储空间不足时:
接收到的最后一次成功发送数据的通知转换为用户端可发送数据的通知。
所述EPOLL的PROACTOR实现模式是指将用户端空间缓存传送给网络接口模式PROACTOR;TCP/IP网络层所在系统内核在有数据要传输时,将待传输数据写入到网络接口模式PROACTOR中的用户端空间缓存;
用户端在WINDOWS平台下时,若用户端可以读取或者发送数据时,先由所述IOCP网络接口模式通知所述网络接口模式PROACTOR,然后由所述网络接口模式PROACTOR通知用户端可以读取或者发送数据。
用户端在LINUX平台下时,若用户端可以读取或者发送数据时,先由所述EPOLL网络接口模式通知所述网络接口模式PROACTOR,然后由所述网络接口模式PROACTOR通知用户端可以读取或者发送数据。
所述的网络接口模式,还包括SendData函数,具体如实施例1中所述,所述用户端可通过所述SendData函数将全部待发送数据完整的发送至TCP/IP所在系统而不会有剩余数据。
使用网络接口模式PROACTOR时,整个网络服务的创建过程如下:
S1:创建一个CPosaNetProactor,会创建一支线程和内核网络对象,然后继承实现一个IPosaNetHandler的子类;
CPosaNetProactor(独立线程)
-HANDLE m_hIOCP
-HANDLE*m_pThreadHandle
+Open()
+Close()
+RegisterHandler(SOCKET s)()
S2:IPosaNetHandler会创建一个SOCKET,并将该SOCKET绑定到某个CPosaNetPROACTOR上去,IPosaNetHandler可以将SOCKET绑定到任何一个CPosaNetPROACTOR上去,但是在其生命周期内只允许绑定到固定一个上去,不能任意切换;
S3:PosaNetHandler通过CPosaNetRequest,发起发送或者接收的请求,CPosaNetRequest将自己的指针绑定事件传递给内核IOCP或者EPOLL,当内核有相应的事件发生时,会将事件类型和预先传递进去的指针返回回来;
CPosaNetRequest
-IPosaNetHandler*m_pPosaHandler
+AcceptEx()
+ConnectEx()
+Recv()
+Send()
+HandleIOCPEvent()
S4:调用CPosaNetRequest的HandleIOCPEvent函数或者HandleEPOLLEvent将IOCP或EPOLL的事件进行分发,根据网络语义和保存的IPosaNetHandler指针去调用不同的虚函数,最终达到消息的通知。LINUX平台和WINDOWS平台的内部实现根据其逻辑的不同,做了不同的处理,以达到相同的网络语义。
每个PROACTOR都是一支独立的线程用户可以动态地根据CPU的核数去创建PROACTOR的个数,再做一个简单的平均负载均衡,这样当CPU个数增加的时候,可以充分地利用CPU的性能,不需要用户端修改任何的程序代码。
根据不同的业务逻辑去绑定不同的Handler到不同的PROACTOR上。例如:可以将所有的监听的SOCKET都绑定到一支独立的监听PROACTOR上,每个不同的监听端口上来的连接,绑定到对应的独立PROACTOR上,这样充分利用CPU性能,而且监听事件可以快速处理。
显然,上述实施例仅仅是为清楚地说明所作的举例,而并非对实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引伸出的显而易见的变化或变动仍处于本发明创造的保护范围之中。
Claims (8)
1.一种数据通信方法,其特征在于:用户端采用PROACTOR实现与TCP/IP网络层的数据传输,其中:
当数据从所述TCP/IP网络层所在系统内核读取到用户端提供的缓冲区中,所述PROACTOR通知用户端接收数据;
当所述TCP/IP网络层所在系统的缓冲区具有足够存储空间时,所述PROACTOR通知用户端可发送数据;
当用户端在LINUX平台下时,数据收发过程如下:
所述用户端读取数据时:
用户端发送读请求,将用户端空间缓存传送给所述PROACTOR;
TCP/IP网络层所在系统内核有数据要传输时,将待传输数据写入到所述PROACTOR中的用户端空间缓存;
再通过所述PROACTOR通知用户端接收数据;
所述用户端发送数据时:
如果TCP/IP网络层所在系统的缓冲区有足够存储空间,将全部待发送数据存储到TCP/IP网络层所在系统的缓冲区;所述PROACTOR通知用户端可以发送数据;
如果TCP/IP网络层所在系统的缓冲区的存储空间不足,所述PROACTOR通知用户端不能发送消息,直到TCP/IP网络层所在系统的缓冲区有三分之一空闲时,再通过所述PROACTOR通知用户端可发送数据。
2.根据权利要求1所述的数据通信方法,其特征在于,所述PROACTOR包括SendData函数,所述用户端可通过所述SendData函数将全部待发送数据完整的发送至TCP/IP网络层所在系统内核且不会有剩余数据。
3.一种网络接口设置方法,其特征在于,其内封装有IOCP、EPOLL、IOCP的PROACTOR实现模式以及EPOLL的PROACTOR实现模式,其中:
所述IOCP用于WINDOWS平台下的用户端实现读取数据;
所述IOCP的PROACTOR实现模式用于WINDOWS平台下的用户端实现发送数据;
所述EPOLL的PROACTOR实现模式用于LINUX平台下的用户端实现读取数据;
所述EPOLL用于LINUX平台下的用户端实现发送数据。
4.根据权利要求3所述的方法,其特征在于,所述IOCP的PROACTOR实现模式是指:
TCP/IP网络层所在系统的缓冲区有足够存储空间时:
屏蔽用户端成功发送数据的通知;
TCP/IP网络层所在系统的缓冲区的存储空间不足时:
接收到的最后一次成功发送数据的通知转换为用户端可发送数据的通知。
5.根据权利要求3或4所述的方法,其特征在于:
所述EPOLL的PROACTOR实现模式是指将用户端空间缓存传送给PROACTOR;TCP/IP网络层所在系统内核在有数据要传输时,将待传输数据写入到PROACTOR中的用户端空间缓存。
6.根据权利要求3-4任一所述的方法,其特征在于,用户端在WINDOWS平台下时,若用户端可以读取或者发送数据时,先由所述IOCP通知所述PROACTOR,然后由所述PROACTOR通知用户端可以读取或者发送数据。
7.根据权利要求3-4任一所述的方法,其特征在于,用户端在LINUX平台下时,若用户端可以读取或者发送数据时,先由所述EPOLL通知所述PROACTOR,然后由所述PROACTOR通知用户端可以读取或者发送数据。
8.根据权利要求3-4任一所述的方法,其特征在于,还包括SendData函数,所述用户端可通过所述SendData函数将全部待发送数据完整的发送至TCP/IP网络层所在系统而不会有剩余数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410245778.9A CN103986733B (zh) | 2014-06-04 | 2014-06-04 | 一种网络接口模式和基于该网络接口模式的数据通信方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410245778.9A CN103986733B (zh) | 2014-06-04 | 2014-06-04 | 一种网络接口模式和基于该网络接口模式的数据通信方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103986733A CN103986733A (zh) | 2014-08-13 |
CN103986733B true CN103986733B (zh) | 2017-12-15 |
Family
ID=51278558
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410245778.9A Active CN103986733B (zh) | 2014-06-04 | 2014-06-04 | 一种网络接口模式和基于该网络接口模式的数据通信方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103986733B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109495484B (zh) * | 2018-11-29 | 2021-04-20 | 国电南瑞科技股份有限公司 | 一种智慧照明系统中Proactor模式的高并发通信方法及系统 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101448006A (zh) * | 2008-12-25 | 2009-06-03 | 中兴通讯股份有限公司 | 一种实现流媒体服务器大量终端接入的方法及系统 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7415713B2 (en) * | 2000-01-28 | 2008-08-19 | Iona Technologies, Plc | Method and system for dynamic configuration of interceptors in a client-server environment |
ITMI20022347A1 (it) * | 2002-11-06 | 2004-05-07 | Pasqua Roberto Della | Metodo di comunicazione con tempo di risposta ridotto in |
KR100707969B1 (ko) * | 2004-10-30 | 2007-04-16 | 에스케이커뮤니케이션즈 주식회사 | 속성이 부여된 주제별 분류 객체들간의 일치도 제공 방법및 이를 구현할 수 있는 컴퓨터로 읽을 수 있는 기록 매체 |
CN102722377B (zh) * | 2012-06-28 | 2015-05-20 | 上海美琦浦悦通讯科技有限公司 | 基于ace框架的网络视频应用处理系统 |
CN103618741A (zh) * | 2013-12-09 | 2014-03-05 | 惠州华阳通用电子有限公司 | 一种tcp长连接通信系统及方法 |
-
2014
- 2014-06-04 CN CN201410245778.9A patent/CN103986733B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101448006A (zh) * | 2008-12-25 | 2009-06-03 | 中兴通讯股份有限公司 | 一种实现流媒体服务器大量终端接入的方法及系统 |
Non-Patent Citations (1)
Title |
---|
ACE框架在网络通讯软件设计中的应用研究;崔桂香、丁晓明;《北京电子科技学院学报》;20041231;第12卷(第4期);第3节、第4.3节 * |
Also Published As
Publication number | Publication date |
---|---|
CN103986733A (zh) | 2014-08-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104468629B (zh) | 一种批量发送消息的方法和装置 | |
CN103200128B (zh) | 一种网络包处理的方法、装置和系统 | |
CN109597818A (zh) | 数据更新方法、装置、存储介质和设备 | |
CN103412786B (zh) | 一种高性能服务器架构系统及数据处理方法 | |
CN105610972A (zh) | 集群式的任务调派系统 | |
CN110049113A (zh) | 业务消息处理方法及装置 | |
CN103607302B (zh) | 故障信息上报方法、监控设备及管理设备 | |
CN109213792A (zh) | 数据处理的方法、服务端、客户端、装置及可读存储介质 | |
CN109547162B (zh) | 基于两套单向边界的数据通信方法 | |
US20130262614A1 (en) | Writing message to controller memory space | |
CN106201739A (zh) | 一种基于Redis的Storm的远程调用方法 | |
US11989556B2 (en) | Detecting infinite loops in a programmable atomic transaction | |
CN108170758A (zh) | 高并发数据存储方法及计算机可读存储介质 | |
CN109981737A (zh) | 一种网络请求的处理方法、装置、终端及存储介质 | |
CN110519388B (zh) | 区块链请求的处理方法、装置、电子设备及可读存储介质 | |
CN112910802A (zh) | 一种报文处理方法及装置 | |
CN101072224A (zh) | 一种基于绑定链路实现数据发送的方法 | |
CN104683460B (zh) | 一种物联网的通信方法、装置及服务器 | |
CN103986733B (zh) | 一种网络接口模式和基于该网络接口模式的数据通信方法 | |
CN106131162A (zh) | 一种基于iocp机制实现网络服务代理的方法 | |
CN110187985A (zh) | 一种通信方法、系统及装置 | |
CN104484219A (zh) | 虚拟化平台中下发策略的方法和装置 | |
US20150309755A1 (en) | Efficient complex network traffic management in a non-uniform memory system | |
CN109063140A (zh) | 一种数据查询方法、中转服务器及计算机可读存储介质 | |
CN103347077A (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 |