请问关于在多线程建立socket时超时的问题

问题描述

创建多线程,每个线程创建一个socket连接不同的机器,连接主机时设定了一个超时时间,以免线程阻塞。当线程数量较多时,比如创建20个线程分别连接20台机器。前面19台机器的IP都是不存在的,最后一台是可以连接的。程序运行后,前19个线程连接超时,第20个线程连接成功。该程序作为普通Java程序运行没有问题,但是将器放入servlet在tomcat6.0下面运行时,最后一个线程也显示连接超时,请问这是什么原因,是不是tomcat对于socket活着多线程做了什么限制。ps:如果将第20个线程放在前面执行的话,是可以成功的,但是如果该线程连接时已经有十几个线程在连接等待的,该线程也会连接失败,不知道是什么原因

时间: 2024-10-24 17:22:05

请问关于在多线程建立socket时超时的问题的相关文章

html页面请求-请问当请求一个html页面时,服务器就与客户端建立了一个会话吗?

问题描述 请问当请求一个html页面时,服务器就与客户端建立了一个会话吗? 请问当请求一个html页面时,服务器就与客户端建立了一个会话吗?如果跳转到其它的页面,这个会话就会结束吗? 解决方案 aspphpjsp不同应用服务器有自己的会话跟踪,默认情况下,大多数web应用层使用临时cookie来跟踪sessionid,因此对于浏览器进程,每个进程保持相同的会话.关闭再开就是新的会话.但是也可以用永久cookie,那么就可以保持到浏览器关闭以及多个浏览器实例的共享 解决方案二: 错,会话是应用服务

C#实现的多线程异步Socket数据包接收器框架

几天前在博问中看到一个C# Socket问题,就想到笔者2004年做的一个省级交通流量接收服务器项目,当时的基本求如下: 接收自动观测设备通过无线网卡.Internet和Socket上报的交通量数据包 全年365*24运行的自动观测设备5分钟上报一次观测数据,每笔记录约2K大小 规划全省将有100个左右的自动观测设备(截止2008年10月还只有30个) 当时,VS2003才发布年多,笔者也是接触C#不久.于是Google了国内国外网,希望找点应用C#解决Socket通信问题的思路和代码.最后,找

java中socket connect超时的设置方法

1.首先将标志位设为Non-blocking模式,准备在非阻塞模式下调用connect函数 2.调用connect,正常情况下,因为TCP三次握手需要一些时间:而非阻塞调用只要不能立即完成就会返回错误,所以这里会返回EINPROGRESS,表示在建立连接但还没有完成. 3.在读套接口描述符集(fd_set rset)和写套接口描述符集(fd_set wset)中将当前套接口置位(用FD_ZERO().FD_SET()宏),并设置好超时时间(struct timeval *timeout) 4.调

java创建socket时失败的原因有哪些?

问题描述 java创建socket时失败的原因有哪些? 最近练习使用socket时,本来能够脸上服务器的,后来不知道怎么的就连不上了,最后定位就是socket创建失败,什么原因我不知道.我知道的原因如下: 1.没有添加连接网络权限. 2.没有在后台线程中创建socket 3.端口号被占用 这些问题我都避免了,而且之前就连上了,后来连不上,抛出IOException,请问还有其他的原因会导致socket创建失败吗? 解决方案 抛出io异常,文件读取的问题.serversocket没有写进数据,so

Android编程实现基于局域网udp广播自动建立socket连接的方法_Android

本文实例讲述了Android编程实现基于局域网udp广播自动建立socket连接的方法.分享给大家供大家参考,具体如下: android开发中经常会用到socket通讯.由于项目需要,最近研究了一下这方面的知识. 需求是想通过wifi实现android移动设备和android平台的电视之间的文件传输与控制. 毫无疑问这中间一定需要用到socket来进行通信.今天就两台设备的握手连接方式分享一下吧,该方法只是本人个人想法的实现,仅供参考,如有雷同,不胜荣幸. 要想使用socket进行通讯,就必须知

与tomcat服务器建立socket连接

问题描述 环境: tomcat+ssh2(Struts2,Spirng,Hibernate)现在希望客服端与tomcat服务器(或struts2的Action,servlet)建立socket连接客服端是MFC写的程序不知道这样行不行,或者大家有什么更好的方式?我是小菜鸟,请大家给俺出出主意! 问题补充:二楼的大侠可否说的具体一点我的要求就是MFC写的程序能和tomcat+struts2+spirng+hibernate搭建的服务器交换数据如果不能和action,servlet通信的话,有什么替

Android编程实现基于局域网udp广播自动建立socket连接的方法

本文实例讲述了Android编程实现基于局域网udp广播自动建立socket连接的方法.分享给大家供大家参考,具体如下: android开发中经常会用到socket通讯.由于项目需要,最近研究了一下这方面的知识. 需求是想通过wifi实现android移动设备和android平台的电视之间的文件传输与控制. 毫无疑问这中间一定需要用到socket来进行通信.今天就两台设备的握手连接方式分享一下吧,该方法只是本人个人想法的实现,仅供参考,如有雷同,不胜荣幸. 要想使用socket进行通讯,就必须知

在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误

错误信息: 标题: 连接到服务器 ------------------------------ 无法连接到 (local). ------------------------------ 其他信息: 在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误.未找到或无法访问服务器.请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接. (provider: 命名管道提供程序, error: 40 - 无法打开到 SQL Server 的连接) (Microsof

android建立项目时失败:Android Manifest.xml file missing的解决方法

安卓(android)建立项目时失败,出现AndroidManifest.xml file missing几种解决方法?(总结中) Eclipse新建项目,遇到这样的问题,注意如下: 1.文件名最好不要用中文. 2.目录也不要用中文. 3.这个不会出错,但出于程序编写习惯,第一个字母最好为大写. 查看本栏目更多精彩内容:http://www.bianceng.cnhttp://www.bianceng.cn/OS/extra/