TCP 错误 10055:无法执行套接字上的操作,因为系统缺乏足够的缓冲区空间或队列已满
我收到此 TCP 错误:(10055:无法执行套接字上的操作,因为系统缺乏足够的缓冲区空间或队列已满)传输数据时发生。
显然我开始收到此 错误如果我尝试传输任何超过 50 MB 的文件,则会出现错误。 我正在使用WCF。我有用 Java/Tomcat 编写的 Web 服务。
会不会是服务器端配置的问题?
服务器是Tomcat,你能告诉我在这种情况下要自定义哪个值吗?
<bindings>
<basicHttpBinding>
<binding name="MyWebService1SoapHttpPortBinding" closeTimeout="00:01:00"
openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:11:00"
allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"
maxBufferSize="4000000" maxReceivedMessageSize="99999999"
messageEncoding="Mtom" textEncoding="utf-8" transferMode="StreamedRequest"
useDefaultWebProxy="true">
<security mode="None">
<transport clientCredentialType="None" proxyCredentialType="None"
realm="" />
<message clientCredentialType="UserName" algorithmSuite="Default" />
</security>
</binding>
</basicHttpBinding>
</bindings>
<client>
<endpoint address="http://[IP]/Transfer"
binding="basicHttpBinding" bindingConfiguration="MyWebService1SoapHttpPortBinding"
contract="Transfer" name="MyWebService1SoapHttpPort" />
</client>
I am getting this TCP error: (10055: An operation on a socket could not be performed because the system lacked sufficient buffer space or because a queue was full) occurred while transmitting data.
Apparently I start getting this error if I try to transfer any file over 50 MB.
I am using WCF. I have web services written in Java/Tomcat.
Could it be a problem in server-side configurations?
The server is Tomcat, can you tell me which value to customize in that case?
<bindings>
<basicHttpBinding>
<binding name="MyWebService1SoapHttpPortBinding" closeTimeout="00:01:00"
openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:11:00"
allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"
maxBufferSize="4000000" maxReceivedMessageSize="99999999"
messageEncoding="Mtom" textEncoding="utf-8" transferMode="StreamedRequest"
useDefaultWebProxy="true">
<security mode="None">
<transport clientCredentialType="None" proxyCredentialType="None"
realm="" />
<message clientCredentialType="UserName" algorithmSuite="Default" />
</security>
</binding>
</basicHttpBinding>
</bindings>
<client>
<endpoint address="http://[IP]/Transfer"
binding="basicHttpBinding" bindingConfiguration="MyWebService1SoapHttpPortBinding"
contract="Transfer" name="MyWebService1SoapHttpPort" />
</client>
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
如果您收到错误消息并且谷歌一下你会找到很多答案。
TCP 错误(10055:由于系统缺乏足够的缓冲区空间或队列已满,无法执行套接字上的操作)
这是一个错误。
http://support.microsoft.com/kb/196271
If you take your error message and google it you will find many answers.
A TCP error (10055: An operation on a socket could not be performed because the system lacked sufficient buffer space or because a queue was full)
Here is one.
http://support.microsoft.com/kb/196271