|
发送策略
对于 IClient 系列组件,当应用程序调用组件的 Send()、SendPACKets()、SendSmallFile()
方法发送数据时,组件内部会把数据缓存起来,在适当的时机再发送出去。
对于 IServer 和 IAgent 系列组件,当应用程序调用组件的 Send()、SendPackets()、
SendSmallFile() 方法发送数据时,根据不同的发送策略会有不同的处理方式。
(发送策略通过 SetSendPolicy(enSendPolicy) 方法进行设置)
✓ SP_PACK :打包策略(默认)
尽量把多个发送操作的数据组合在一起发送,增加传输效率。
✓ SP_SAFE :安全策略
尽量把多个发送操作的数据组合在一起发送,并尽量避免缓冲区溢出。
✓ SP_DIRECT :直接策略
对每一个发送操作都直接投递,适用于负载不高但要求实时性较高的场合。
注:SP_DIRECT 通常与 TCP_NODELAY Socket 选项配合使用来获得最低延
时。(通过 SetSendPolicy(SP_DIRECT)配合 SetNoDelay(TRUE)实现)
对于 SP_PACK 和 SP_SAFE 策略,组件内部会缓存待发送的数据。另外,应用程序可
以调用组件的 GetPendingDataLength(dwConnID, iPending) 方法获取指定连接的未发出数据
量,实现流量控制。
注意:基于 Linux 的 Socket 模型特点,Linux 平台的通信组件不支持发送策略设置,所
有 Linux 通信组件的发送策略均为 SP_PACK。也就是说,SetSendPolicy(enSendPolicy)方法
对 Linux 通信组件无作用
|
|