TCP错误10055:无法执行套接字上的操作,因为系统缺少足够的缓冲区空间或队列已满

时间:2010-04-23 06:59:31

标签: java wcf tomcat mtom

我收到此TCP错误:(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.

如果我尝试传输超过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>

1 个答案:

答案 0 :(得分:0)

如果您收到错误消息并google it,您会找到许多答案。

TCP错误(10055:无法执行对套接字的操作,因为系统缺少足够的缓冲区空间或因为队列已满)

这是一个。 http://support.microsoft.com/kb/196271