我的问题:我的 Completionport 服务器将从不同的客户端接收未知大小的数据,问题是,我不知道如何避免缓冲区溢出/如何避免我的(接收)缓冲区被数据“过度填充”。
现在到问题:1)如果我通过 WSARecv 进行接收呼叫,工作线程是否像回调函数一样工作?我的意思是,它是仅在完成后才挖掘接收呼叫,还是在接收发生时也挖掘它?lpNumberOfBytes(来自 GetQueuedCompletionStatus)变量是否包含到目前为止接收到的字节数或接收到的总字节数?
2)如何避免溢出,我想到了动态分配的缓冲区结构,但话又说回来,我如何找出包会有多大?
编辑:我不想问这个,但是有没有“简单”的方法来管理缓冲区并避免溢出?同步听起来对我来说是无限的,至少现在