Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/wcf/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java TCP错误10055:无法对套接字执行操作,因为系统缺少足够的缓冲区空间或队列已满_Java_Wcf_Tomcat_Mtom - Fatal编程技术网

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

Java TCP错误10055:无法对套接字执行操作,因为系统缺少足够的缓冲区空间或队列已满,java,wcf,tomcat,mtom,Java,Wcf,Tomcat,Mtom,我收到此TCP错误:(10055:无法执行套接字上的操作,因为系统缺少足够的缓冲区空间或队列已满)在传输数据时发生。 显然,如果我试图传输任何超过50MB的文件,就会出现这个错误。 我正在使用WCF。我有用Java/Tomcat编写的web服务 这可能是服务器端配置中的问题吗 服务器是Tomcat,你能告诉我在这种情况下自定义哪个值吗 <bindings> <basicHttpBinding> <binding name="MyWebService1So

我收到此TCP错误:
(10055:无法执行套接字上的操作,因为系统缺少足够的缓冲区空间或队列已满)在传输数据时发生。

显然,如果我试图传输任何超过50MB的文件,就会出现这个错误。 我正在使用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>

如果你记下错误信息,你会找到很多答案

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

这里有一个。

您是否尝试过增加您的
maxBufferSize
?我已经尝试过这个maxBufferSize=“2147483647”maxBufferPoolSize=“524288”maxReceivedMessageSize=“2147483647”了。我仍然认为这一定是tomcat的配置问题,。就好像是IIS一样,我必须更改大型bninaryIt的maxrequestlendth参数。这是windows配置/资源问题,问题不在于你的应用程序。请看下面的答案。谢谢Romain,如果谷歌搜索在这种情况下有效,我不会在这里,但我想知道如何避免这个错误,并且仍然通过Web服务将数据传输到Java。我有一个WCF服务器和一个客户机,即使对于250MB的传输,它们也能完美地工作,然而,一旦我将解决方案转移到JavaWebServices,即使在50MB时,我也开始出现错误。我确信我使用的是符合metro、Jax-ws的正确数据处理程序类型。无论如何,我希望有任何专家的意见。谢谢你的回答,我相信它的互操作性导致了Java和WCF之间的问题