C++ 套接字最大发送数?

C++ 套接字最大发送数?,c++,c,C++,C,套接字上的发送数是否有最大值?我的工作最多发送480次,之后开始返回-1 我使用的是visual studio 2008 vc++和使用ACE的socket编程。没有具体的限制,但显然,如果接收端不以最快的速度使用它,您就不能继续以每节的速度输出它。中间有各种各样的缓冲区,任何软件/硬件都在维护它们,每一个都会限制它们接受多少缓冲区。在继续发送之前,您需要等待接收端使用一些数据。当套接字再次变为可写时,您可以获得异步通知。。。如果您使用的是BSD API,请查看select或poll以了解详细信

套接字上的发送数是否有最大值?我的工作最多发送480次,之后开始返回-1


我使用的是visual studio 2008 vc++和使用ACE的socket编程。

没有具体的限制,但显然,如果接收端不以最快的速度使用它,您就不能继续以每节的速度输出它。中间有各种各样的缓冲区,任何软件/硬件都在维护它们,每一个都会限制它们接受多少缓冲区。在继续发送之前,您需要等待接收端使用一些数据。当套接字再次变为可写时,您可以获得异步通知。。。如果您使用的是BSD API,请查看select或poll以了解详细信息。

没有具体的限制,但显然,如果接收端不以最快的速度使用它,您就不能继续以每节的速度输出它。中间有各种各样的缓冲区,任何软件/硬件都在维护它们,每一个都会限制它们接受多少缓冲区。在继续发送之前,您需要等待接收端使用一些数据。当套接字再次变为可写时,您可以获得异步通知。。。如果您使用的是BSD API,请查看select或poll以了解详细信息。

据我所知,没有此类限制。我已经连续几天发送这些工作,发送数据没有任何问题

显然还有其他问题。请提供更多细节


也可能是您发送了太多数据并填满了缓冲区。也检查一下。

据我所知,没有这样的限制。我已经连续几天发送这些工作,发送数据没有任何问题

显然还有其他问题。请提供更多细节


也可能是您发送了太多数据并填满了缓冲区。也请检查。

否,您可以呼叫的发送次数没有上限

签出或选择适合您平台的页面,并尝试使用perror示例:“PerroError sending”。系统说调用以查看正在生成的错误

请注意,-1在本例中是一个通用返回码,可能意味着从我的套接字关闭到您给我的参数都不是有效的文件描述符;因此,如果没有进一步的信息,很难判断发生了什么

编辑:以上答案假设为*NIX;这是一个糟糕的假设

由于您使用的是ACE,请查看ACE::send文档doxygen。此外,应该有一个ACE_OS::PerroError发送。系统说调用doxygen应该和我上面描述的类似


HTH

不,您可以呼叫的发送次数没有上限

签出或选择适合您平台的页面,并尝试使用perror示例:“PerroError sending”。系统说调用以查看正在生成的错误

请注意,-1在本例中是一个通用返回码,可能意味着从我的套接字关闭到您给我的参数都不是有效的文件描述符;因此,如果没有进一步的信息,很难判断发生了什么

编辑:以上答案假设为*NIX;这是一个糟糕的假设

由于您使用的是ACE,请查看ACE::send文档doxygen。此外,应该有一个ACE_OS::PerroError发送。系统说调用doxygen应该和我上面描述的类似


HTH

否…因为我的接收器将在没有任何数据可读取的情况下进入阻塞状态否…因为我的接收器将在没有任何数据可读取的情况下进入阻塞状态您需要提供有关您正在使用的系统和开发环境的附加信息。例如在Windows Server 2008上使用WINSOCKS在Visual C++中…请正确地标记您的问题。这与C或C++作为编程语言没有多大关系。您需要提供有关您正在使用的系统和开发环境的附加信息。例如在Windows Server 2008上使用WINSOCKS在Visual C++中…请正确地标记您的问题。这与C语言或C++语言无关,我的接收器会在没有数据读取的情况下阻塞等待,所以这不是问题,如果我是你,我不会赌它。您只需在路由的任何位置使用一个缓冲区,即可立即被淹没,发送端将失败,而不管接收器的状态如何。真的,在你告诉我我错之前,你应该试试我的建议。这也取决于它是否是UDP/TCP/etc@Rajesh:当发送未返回您尝试发送的字节数时。我假设有一个发送返回的数字较少,然后是大量的-1错误@sje397:非常正确。。。我假设是TCP。如果UDP数据包到达的速度比消费者读取数据包的速度快,那么UDP数据包就会丢失。@Tony:是的,没错。我正在使用tcpmy接收器,它将在没有dat的情况下阻塞等待
如果我是你,我就不会打赌了。您只需在路由的任何位置使用一个缓冲区,即可立即被淹没,发送端将失败,而不管接收器的状态如何。真的,在你告诉我我错之前,你应该试试我的建议。这也取决于它是否是UDP/TCP/etc@Rajesh:当发送未返回您尝试发送的字节数时。我假设有一个发送返回的数字较少,然后是大量的-1错误@sje397:非常正确。。。我假设是TCP。如果UDP数据包到达的速度比消费者读取数据包的速度快,那么它们就会丢失。@Tony:是的,没错。我使用的是tcp