Delphi-Cross-Socket
Delphi-Cross-Socket copied to clipboard
建议框架提供 “手动Recv" 的接收模式
这套框架非常优秀,感谢作者辛勤付出~!
这里提个小意见:目前情况下,数据接收是由框架内部自动发起的,数据到达后触发OnReceived事件交给应用程序,这样一来,应用程序没办法根据需要进行细粒度的控制(只能照单全收)。希望框架能提供一种由程序"手动接收“的模式,按需要发起接收请求,这样可以充分利用TCP自带的的流控机制。
手动接收的使用场景:比如写一个反向代理服务器,服务端接入客户端连接后,收取少量的数据,然后发起Connect到后端服务器,转发客户端的数据,但Connect是异步的,无法确定要多久,在此期间客户端可能会持续发送而造成服务端需要缓存大量数据,这时候就希望能够 ”暂停接收“ 客户端数据,等到Connect成功后再 ”继续接收“。
上述场景下,如果有”手动接收“机制,能够完美解决。