草庐IT

innodb_buffer_pool_instances

全部标签

Java - "no buffer space available"套接字错误原因?

我正在用Java编写网络程序。我使用ServerSocket和Socket对象通过TCP发送和接收消息。如果运行时间短,我的程序运行良好,但是如果运行时间较长,我会收到以下错误:java.net.SocketException:Nobufferspaceavailable(maximumconnectionsreached?):connectatjava.net.PlainSocketImpl.socketConnect(NativeMethod)atjava.net.PlainSocketImpl.doConnect(UnknownSource)atjava.net.PlainSoc

c# - 如何使用 Protocol Buffer 将类定义从主机发送到客户端?

我目前正在尝试使用protobuf-net通过TCP连接创建一个类的对象。我对此比较陌生,所以我正在学习https://code.google.com/p/protobuf-net/wiki/GettingStarted上的教程。在我的主机上,我有这段代码定义了一个类“Person”[ProtoContract]classPerson{[ProtoMember(1)]publicintId{get;set;}[ProtoMember(2)]publicstringName{get;set:}[ProtoMember(3)]publicAddressAddress{get;set;}}以

tcp - 使用 protobuf-net 反序列化 Protocol Buffer 时如何指定流长度?

我正在尝试使用ProtocolBuffers通过TCP连接将整数从服务器发送到客户端。我相信我的服务器正在向流中写入内容,但是当客户端尝试从网络流中反序列化时,我的代码会无限期地暂停。我的直觉告诉我,客户端不知道流的长度,所以它不知道读取何时完成,但是Deserialize方法没有长度输入,所以我不确定如何实现这个。下面是我的原型(prototype)定义、服务器和客户端的代码。原型(prototype)定义PublicClassProtoPublicClassTCPPublicPropertyCommandAsIntegerEndClassEndClass服务器代码Dimcomman

c - TCP 连接错误 "No buffer space available"

我在非常大规模(2048台机器)上测试自制分布式键值存储时遇到此错误,它在1024台机器上运行良好。通信模式是n:n,这意味着每台机器向其他机器发送大量请求。我使用CTCP套接字来实现它,SO_REUSEADDR来回收那些套接字。任何人都可以给我一些关于可能导致此错误的可能性的提示吗?代码很复杂,很难在不丢失必要逻辑的情况下将其简化并发布在这里。所以我只想知道所有可能的原因才开始调试。顺便说一句,我将设置更改为:echo8000>/proc/sys/kernel/threads-maxecho8000>/proc/sys/net/core/somaxconn#监听队列的限制,默认为12

python : Clear the buffer in Twisted Transport write

我正在使用Pythontwisted开发一个聊天应用程序。我正在使用transport.write()写入TCP流。但是,有时,我注意到客户端接收到的数据是合并的(串联的)。有什么方法可以清除缓冲区或刷新数据,以便在发送数据时接收数据而不是缓冲数据?谢谢 最佳答案 这与这个FAQ项基本相同:http://twistedmatrix.com/trac/wiki/FrequentlyAskedQuestions#Whyisprotocol.dataReceivedcalledwithonlypartofthedataIcalledtra

tcp - Protocol Buffer Wireshark 插件

我正在为googleprotocolbuffer寻找一个wireshark插件。我找到了这个GPBWireshark插件http://code.google.com/p/protobuf-wireshark/显然只有UDP……是否有适用于TCP的wiresharkGPB插件? 最佳答案 您可以改用Wireshark附带的Protobuf解析器。从Wireshark3.2.0开始,现在可以配置*.proto文件以更精确地解析序列化的Protobuf数据(例如gRPC)。从该版本开始支持基于UDP端口解析Protobuf数据。您还可以编

java - Spring 集成 : individual timeouts settings for connections in the same pool

我们有一个使用SpringIntegration的Java编写的应用程序。应用程序向3d方服务发送请求,每个请求都表示为字节数组并通过纯TCP发送。与3d方的连接存储在池中(使用CachingClientConnectionFactory)。我们可以向3d方发送几种类型的请求,现在需要为每种类型的请求设置不同的超时值。但是,就目前而言,这看起来有问题,因为为Gateway和ConnectionFactory组件设置了连接超时设置,并且无法为特定的单个请求设置连接超时。我们希望避免仅仅为了支持不同的连接超时而引入多个网关和连接工厂。channel和网关配置TcpGateway.javap

Java/安卓 : Socket closed when offloading work to a thread pool

我在Android上编写线程池TCP服务器时遇到了一个非常令人费解的错误。基本上,我的代码结构如下:标准服务器循环(在其自身线程内的循环中阻止调用socket.accept()),在传入连接时调用处理程序:socket=mServerSocket.accept();myHandler.onIncomingConnection(socket);处理程序将传入连接的所有进一步处理卸载到线程池:publicclassX{privatefinalExecutorServicereceiveThreadPool=Executors.newSingleThreadExecutor();[...]p

c - nodejs从C接收到的buffer分为两部分

我正在使用tcp传输数据。服务端代码用C写,客户端代码用nodejs写。当我发送一个缓冲区时,有时客户端会收到这个缓冲区的两部分,console.log函数会触发两次,但有时效果很好。以下是nodejs代码和C代码。Node代码:varclient=newnet.Socket();client.on('data',function(data){console.log('data:',data)});C代码:send(socket_file,buffer,strlen(buffer),0) 最佳答案 这是典型的TCP,毕竟它是一个面向

C# 异步 TCP 套接字 : Handling buffer size and huge transfers

当使用阻塞TCP套接字时,我不必指定缓冲区大小。例如:using(varclient=newTcpClient()){client.Connect(ServerIp,ServerPort);using(reader=newBinaryReader(client.GetStream()))using(writer=newBinaryWriter(client.GetStream())){varbyteCount=reader.ReadInt32();reader.ReadBytes(byteCount);}}注意远程主机如何发送任意数量的字节。但是,当使用异步TCP套接字时,我需要创建一