套接字最大发送数量?
不,您可以调用的send()的数量没有上限。 (例如:'perror(“error sending。system said”);')调用以查看哪个错误正在生成。
请注意,在这种情况下-1是一个通用的返回码,可能意味着任何内容从“我的套接字关闭”到“您给我的参数不是有效的文件描述符”;因此,如果没有进一步的信息,很难说出正在发生的事情。
编辑:假设上述答案* NIX;这是一个可怜的假设。
由于您使用ACE,请查看ACE :: send()文档(doxygen是here)。此外,应该有一个ACE_OS :: perror(“error sending。system said”)调用(doxygen是here),它应该与我上面描述的类似。
HTH
好的。我来看看那个.thanks – aks 2010-09-07 06:36:49
没有具体的限制,但显然你不能继续以节点速度抽出它,如果接收方没有尽快消耗速度。它们之间有各种缓冲区,无论软件/硬件维护什么,都会限制它们接受的数量。您需要等到接收方在继续发送之前消耗一些数据。你可以得到一个异步通知,告诉socket何时变得可写入......如果你使用的是BSD API,请检查select或poll的细节。
据我所知没有这样的限制。我已经将这项工作发送了几天,发送数据没有任何问题。
显然还有一些其他问题。请提及更多细节。
此外,它可能是你发送太多的数据并填充缓冲区。检查也。
不...因为我的接收器进入阻塞状态,没有任何数据可读 – aks 2010-09-07 06:07:15
您需要提供有关您正在使用的系统和开发环境的其他信息。比如“在Windows Server 2008上使用Visual C++下的WinSocks ...”。 – tidwall 2010-09-07 06:07:22
请正确标记您的问题。这与C或C++作为编程语言没有多大关系。 – 2010-09-07 11:45:14