`
xuelianbobo
  • 浏览: 174735 次
  • 性别: Icon_minigender_1
  • 来自: 天津
社区版块
存档分类
最新评论

Socket No buffer space available (maximum connections reached?): connect 终极解决

阅读更多

 

因工作的需要,要对一个网络接口进行压力测试,于是就自己写了个socket的客户端多线程来调用对方的服务,可是在实际操作中经常会出现端口已经不够用的错误即下面这个错误:

No buffer space available (maximum connections reached?): connect

 

具体的代码如下:socket.setSoLinger(true, 0); 是关键。

public static void callSocket() {
		Socket socket = null;
		try {
			socket = new Socket("127.0.0.1", 8080);
			socket.setReuseAddress(true);//设置地址可以重用
			//注意这是最重要的,默认情况下socket close之后机器的实际端口并不立即释放掉
			//设置SoLinger为true后将根据后面的参数来释放机器的端口,填写0表示close时立即释放,未发送的数据全部丢失,
			//其他值比如3 表示3秒后释放。
			socket.setSoLinger(true, 0);
			OutputStream outputStream = socket.getOutputStream();
			outputStream.write("ok".getBytes());
			outputStream.flush();
			InputStream inputStream = socket.getInputStream();
			byte[] b = new byte[1024];
			inputStream.read(b);
			inputStream.close();
			outputStream.close();
		} catch (Exception e) {
			System.err.println(e.getMessage());
		} finally {
			if (socket != null) {
				try {
					socket.close();
				} catch (IOException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
			}
			socket = null;
		}
	}

 

分享到:
评论

相关推荐

    KB2553549,KB2577795(No buffer space available 问题)

    标题 "KB2553549,KB2577795(No buffer space available 问题)" 涉及的是Windows操作系统中的一个常见错误,即"No buffer space available (maximum connections reached?): connect"。这个错误通常发生在用户尝试...

    Windows6.1-KB2553549、KB2577795-x64.zip

    1.解决服务器报错:java.net.SocketException: No buffer space available (maximum connections reached?): JVM_Bind 2.解决Windows Server 2003/2008 R2系统BUG导致windows缓冲区已满(no buffer space),Windows...

    如何解决线程太多导致java socket连接池出现的问题

    3. 错误信息:当Socket连接池出现问题时,可能会出现错误信息,如"java.net.SocketException: No buffer space available (maximum connections reached?): listen failed"。 解决方法 要解决线程太多导致Socket...

    windows server 2008 r2 bug修复补丁

    当系统出现"No buffer space available (maximum connections reached?): JVM_Bind"错误时,意味着系统已经达到了其最大连接数,无法再建立新的网络连接。这个问题对服务的稳定性和可用性产生了重大影响,尤其是对于...

    Kernel sockets leak on a multiprocessor computer that is running Windows 7

    No buffer space available (maximum connections reached?): JVM_Bind 解决方案: 此问题是windows的bug,唯一解决问题的方法就是reboot,然后给系统打补丁,The problem was fixed with Microsoft's patch: ...

    39 案例实战:如何解决经典的Too many connections故障?背后原理是什么.pdf

    Too many connections故障是数据库运维中较为常见的问题,特别是在并发访问量较大的Web应用中,其背后的原理和解决方法值得深入探讨。 在Linux系统中,每个进程可用的文件句柄(file handles)数量是有限制的。文件...

    解决mysql 1040错误Too many connections的方法

    mysql官方告诉我们需要修改max_connections的值,那么我们怎么去修改呢?有两种方法 1、修改配置文件文件 修改/etc/my.cnf这个文件,在[mysqld]中新增max_connections=N,如果你没有这个文件请从编译源码中的support...

    行业-39 案例实战:如何解决经典的Too many connections故障?背后原理是什么.rar

    理解“Too many connections”错误背后的原理,有助于我们更有效地预防和解决问题。通过合理配置数据库参数、采用连接池技术、优化代码以及实施有效的监控策略,我们可以显著提高系统的稳定性和性能。

    egg-elk

    麋鹿描述Egg Elk日志插件安装$ npm i egg-elk --save用法// {app_root}/config/plugin.jsexports . elk = { enable : true , package : 'egg-elk' ,} ;...: { maxConnections : number ; retryInterva

    mysql提示Changed limits: max_open_files: 2048 max_connections: 1910 table_cache: 64的解决

    在windows下安装Mysql系统日志出现max_open_files: 2048 max_connections: 510 table_cache: 764 类似错误是因为 max_connections 最大连接数和max_open_files、table_cache 不匹配。适当的降低max_connections 或...

    windows2008R2-kb2577795,kb2553549补丁/windows2012R2-kb3123245补丁

    1、win2008 r2 or windows7 【KB2553549 KB2577795】 Windows Server 2008 R2系统BUG导致windows缓冲区已满(no buffer space),Windows核心套接字泄露问题导致...2、解决windows2012 R2 kb3123245 补丁 no buffer space

    Linux 下的socket编程简单实例

    在Linux操作系统中,Socket编程是实现网络通信的基础。Socket接口提供了丰富的函数,使得开发者能够创建、连接、读写网络上的套接字,从而实现不同进程间的通信,甚至跨越网络的远程通信。本实例将深入讲解如何在...

    解决mysql登录错误:’Access denied for user ‘root’@’localhost’

    解决的过程遇到的坑,这里记录分享下。 有效的操作记录下: 1、首先是跳过权限登录mysql,查看user表, 停止mysql服务~$ sudo service mysql stop 以安全模式启动MySQL~$ sudo mysqld_safe --skip-grant-tables & ...

    intellij idea的一些基础设置

    ### IntelliJ IDEA 的基础设置 #### 一、下载与安装 - **步骤1:搜索与下载** 首先,需要通过搜索引擎如百度搜索“IntelliJ IDEA”找到官方网站进行下载。根据个人需求选择合适的版本(Community Edition或...

    关于mysql提示too many connections问题解决方法.doc

    MySQL数据库在运行过程中可能会遇到“Too many connections”的错误提示,这意味着服务器上的MySQL实例达到了其最大允许的并发连接数。此问题通常由以下两种情况引起: 1. **并发连接过多**:大量的应用程序或用户...

    PHP下使用mysqli的函数连接mysql出现warning: mysqli::real_connect(): (hy000/1040): …

    在PHP编程中,当尝试使用mysqli扩展连接MySQL数据库时,可能会遇到“PHP警告:mysqli::real_connect(): (HY000/1040): Too many connections”的错误。这个错误通常意味着MySQL服务器上的连接数量超过了最大限制,但...

    socket服务端客户端单向通信(C语言)

    connect(client_socket, (struct sockaddr*)&server_addr, sizeof(server_addr)); ``` 单向通信意味着数据只能从客户端流向服务器。客户端可以使用`write()`或`send()`函数发送数据: ```c write(client_socket, ...

    PI NODE,有些节点没有Incoming connections的解决方案.pdf

    这个问题其实在共识容器出现就存在了,现在PI NODE更新了0.4版,可以直接看到节点的运行状态,因此有些NODER才发现这个问题。关于这个问题,我之前在群里说过只有OUT没有IN代表是个瘸腿节点,并不能为其他节点提供...

    socket通迅实列

    1. **创建Socket**:客户端和服务器端都需要先创建Socket实例,这通常通过调用`socket()`函数完成,指定协议族(如AF_INET代表IPv4)和套接字类型(如SOCK_STREAM代表TCP)。 2. **绑定地址**:服务器端需要绑定一...

    delphi socket call php socket 例子

    // if there are no clients with data, go to next iteration if ( socket_select ( $read , $write = NULL , $except = NULL , 0 ) ) continue; // check if there is a client trying to connect if ( in_...

Global site tag (gtag.js) - Google Analytics