0 0

每隔一晚 第一次socket发送消息就会失败,第2次又正常了0

每隔一晚, 第一次socket给服务器端发送消息就会失败,但第2次又正常了,失败提示的错误如下:

 

2013-11-30 9:45:34 org.apache.catalina.core.StandardWrapperValve invoke
严重: Servlet.service() for servlet spring3 threw exception
java.net.SocketException: Software caused connection abort: recv failed
	at java.net.SocketInputStream.socketRead0(Native Method)
	at java.net.SocketInputStream.read(Unknown Source)
	at com.mysql.jdbc.util.ReadAheadInputStream.fill(ReadAheadInputStream.java:113)
	at com.mysql.jdbc.util.ReadAheadInputStream.readFromUnderlyingStreamIfNecessary(ReadAheadInputStream.java:160)
	at com.mysql.jdbc.util.ReadAheadInputStream.read(ReadAheadInputStream.java:188)
	at com.mysql.jdbc.MysqlIO.readFully(MysqlIO.java:2452)
	at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:2906)
	at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:2895)
	at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3438)
	at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1951)
	at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2101)
	at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2548)
	at com.mysql.jdbc.ConnectionImpl.setAutoCommit(ConnectionImpl.java:4916)
	at org.apache.commons.dbcp.DelegatingConnection.setAutoCommit(DelegatingConnection.java:331)
	at org.apache.commons.dbcp.PoolingDataSource$PoolGuardConnectionWrapper.setAutoCommit(PoolingDataSource.java:317)
	at org.hibernate.transaction.JDBCTransaction.begin(JDBCTransaction.java:91)
	at org.hibernate.impl.SessionImpl.beginTransaction(SessionImpl.java:1354)
	at org.springframework.orm.hibernate3.HibernateTransactionManager.doBegin(HibernateTransactionManager.java:555)
	at org.springframework.transaction.support.AbstractPlatformTransactionManager.getTransaction(AbstractPlatformTransactionManager.java:371)
	at org.springframework.transaction.interceptor.TransactionAspectSupport.createTransactionIfNecessary(TransactionAspectSupport.java:335)
	at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:105)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
	at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:89)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
	at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
	at $Proxy22.findWebContentList(Unknown Source)
	at com.travel.spring.web.VideoController.beginPlay(VideoController.java:260)
	at sun.reflect.GeneratedMethodAccessor158.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at org.springframework.web.bind.annotation.support.HandlerMethodInvoker.invokeHandlerMethod(HandlerMethodInvoker.java:176)
	at org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.invokeHandlerMethod(AnnotationMethodHandlerAdapter.java:426)
	at org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.handle(AnnotationMethodHandlerAdapter.java:414)
	at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:790)
	at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:719)
	at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:644)
	at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:549)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:723)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:343)
	at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:109)
	at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:355)
	at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:97)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:355)
	at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:100)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:355)
	at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:78)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:355)
	at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:54)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:355)
	at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:35)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:355)
	at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilter(BasicAuthenticationFilter.java:177)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:355)
	at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:188)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:355)
	at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:105)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:355)
	at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:79)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:355)
	at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:149)
	at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:237)
	at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:470)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:861)
	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:606)
	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
	at java.lang.Thread.run(Unknown Source)

 

socket发送消息代码如下:

try {
			byte[] receive = new byte[200]; //长度为200
			String ip = "192.168.1.222";
			int port = 9996;
			//发送回收资源的scoket字符串
			String send ="STKNET_DATA;STK_WEBSYS;STKMOD_NETVIDEO;STKNETMSG_FREE_LIVESCENERY_RES;1;1;1;1;50;stream/abc/";
			Socket sock = new Socket(ip, port);
			sock.getOutputStream().write(new SocketClient(send).getbuf());
			port=8888;			//接收端口
			sock.getInputStream().read(receive);
			SocketClient ee = SocketClient.getSocketClient(receive);
			
			sock.close();
		} catch (Exception e) {
			e.printStackTrace();
		}

 

求指点。

2013年12月18日 09:51

1个答案 按时间排序 按投票排序

0 0

采纳的答案

你遇到的问题应该是下面这个原因:
mysql连接成功后,如果不活动, 那么超过8小时(默认值)就会关闭连接,你第一次连接服务器的时候用已经断开的连接访问数据库就会报错, 第二次连接服务器的时候,服务器已经重新和mysql建立连接,所以访问成功了!

2013年12月18日 16:03

相关推荐

    Android-一个基于okio的简化Socket操作的android框架实现Socket断线自动连接

    例如,第一次重连失败后,等待几秒再尝试,如果再次失败,等待的时间翻倍,直到达到最大重试次数或成功连接。 7. **Android权限管理**:在Android系统中,网络访问需要获取相应的权限。开发者需要在AndroidManifest...

    Eclap 串口/Socket调试助手_NEW

    特别提示:本软件需要FrameWork2.0支持,如果您第一次使用安装可能会稍慢一些,主要是在安装FrameWork2.0运行库;对于Microsoft下一代操作系统Vista则不需要。 功能说明: 1、串口调试; 2、Socket调试; 3、CRC/...

    Eclap 串口/Socket调试助手V1.2

    特别提示:本软件需要FrameWork2.0支持,如果您第一次使用安装可能会稍慢一些,主要是在安装FrameWork2.0运行库;对于Microsoft下一代操作系统Vista则不需要。 功能说明: 1、串口调试; 2、Socket调试; ...

    Java CP/IP Socket编程

    #### 第2章:基本套接字 本章主要介绍了如何使用Java实现基本的套接字编程。包括TCP和UDP套接字的概念及其实现方式。 ##### 2.1 套接字地址 套接字地址用于标识网络中的一个端点。在TCP/IP网络中,套接字地址通常...

    计网常见问题归纳.docx

    服务器就会发送一个探测报文段,每隔75秒钟发送一次,若一连发送10个探测报文任然没反应,服务器就认为客户端出了故障,接着就关闭连接。 网络层七层协议 网络层七层协议是指ISO规定的计算机网络的七层结构,分别...

    VB,定时PING网络源代码

    这样,每隔一段时间,程序就会自动执行一次PING操作。 总结一下,VB定时PING网络源代码主要涉及以下知识点: 1. VB的MSWinsockControl组件及其基本使用。 2. ICMP协议和PING命令的基本概念。 3. 如何在VB中创建和...

    定时的爱-完成定时任务的加载和发送

    // 延迟delay毫秒后开始,然后每隔period毫秒执行一次 ``` 2. ** Quartz库** Quartz是一个开源的作业调度框架,功能强大且灵活,支持复杂的调度需求。它可以按时间、日期或Cron表达式安排任务。Quartz允许定义...

    网络通信概述&TCP协议习题答案1

    在三次握手过程中,第一次握手是客户端向服务器发送SYN(同步序列编号)请求,表明希望建立连接;服务器收到请求后回应一个SYN+ACK(确认),表示同意建立连接;最后,客户端再发送一个ACK确认,确认连接已经建立。 ...

    python监控网站运行异常并发送邮件的方法

    代码示例中通过一个简单的定时循环,每隔一段时间就检查一次服务器状态。如果服务器状态码不是200,则认为服务器出现问题,并执行发送邮件的操作。 6. 异常处理:程序中增加了异常处理机制,例如捕获IOError异常,...

    TCP保活定时器的使用

    `tcp_keepalive_time`定义了第一次发送保活探测的时间(单位为秒),`tcp_keepalive_intvl`定义了后续探测的间隔(单位为秒),`tcp_keepalive_probes`定义了在收到响应前允许发送的最大探测次数。 3. **C语言中的...

    wpe pro英文原版 M2M sniff 修改封包工具

    -c 每隔1秒就重新显示一遍,直到用户中断它。 -i 显示所有网络接口的信息。 -n 以网络IP地址代替名称,显示出网络连接情形。 -r 显示核心路由表,格式同"route -e"。 -t 显示TCP协议的连接情况。 -u 显示...

    C++教程网视频:linux网络编程

    - **readn writen**:确保一次性读写完整个数据块。 ##### socket编程(五) - **read、write与recv、send**:基本输入输出函数。 - **readline实现**:用于读取一行文本。 - **用readline实现回射客户/服务器**:...

    GUN/LINUX环境编程(第2版) 源代码

    《GNU/Linux环境编程(第2版)》源代码是一份宝贵的学习资源,它涵盖了与在GNU/Linux操作系统下进行系统级编程相关的广泛主题。...每一个章节的源代码都是一次动手实践的机会,有助于将书本知识转化为实践经验。

    WebSocket入门教程(三)-- WebSocket实例:实时获取服务器内存使用情况

    在上述示例中,服务器每隔1秒发送一次内存使用情况给客户端。`getMemoryUsage`函数负责获取操作系统提供的内存信息,这可能需要调用特定平台的API或库。在实际应用中,你可以根据需要调整这个间隔时间,或者优化获取...

    jmeter测试websocket接口1

    ### jmeter测试websocket接口知识点详解 #### 一、Websocket协议简介 ...4. 在发送数据之后,每隔30秒发送空的心跳数据以维持连接。 通过上述步骤,可以在jmeter中有效测试Websocket接口的连通性和数据交互情况。

    基于弹幕评论的大数据分析平台软件设计方案1

    2. 保持心跳机制:为了维持TCP的长连接,客户端需每隔45秒发送心跳请求。心跳请求数据包的发送是保持连接的关键,以防止因网络延迟或服务器无响应导致的连接断开。 三、弹幕消息格式解析 1. 消息格式:每个弹幕...

    J2EE武功秘籍

    - **Forward**:服务器内部转发,只发送一次请求,客户端地址栏不会变化。 - **SendRedirect**:客户端重定向,发送两次请求,客户端地址栏会变化。 **3. RMI 和 WebService 区别** - **RMI**:远程方法调用,基于...

    计算机模拟试题包含答案.doc

    6. 根据奈奎斯特定理,若要传输32路4KHz的音频,每秒采样8K次,每个采样值用8bit表示,总带宽需求为32 * 8 * 8K = 2.048 Mbps。 7. OSPF(Open Shortest Path First)是一种基于链路状态的路由协议,它通过收集和...

Global site tag (gtag.js) - Google Analytics