`

socket通信遇到EOFException

阅读更多

java.io.EOFException

at java.io.ObjectInputStream$PeekInputStream.readFully(ObjectInputStream.java:2281)

at java.io.ObjectInputStream$BlockDataInputStream.readShort(ObjectInputStream.java:2750)
at java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:780)
at java.io.ObjectInputStream.<init>(ObjectInputStream.java:280)

...

用手机连接电脑的ServerSocket的时候,

在将inputstream包装成ObjectInputStream的时候,一直死循环的抛这个异常。

用电脑写个客户端测试又不抛异常。折腾几个小时,感谢此文,才解决了。

原文地址:

http://blog.csdn.net/hncsy403/article/details/7848785

最近在eclipse开发基于socket通讯方面,出现了一个错误
java.io.StreamCorruptedException: invalid stream header: 64000000
at java.io.ObjectInputStream.readStreamHeader(Unknown Source)
at java.io.ObjectInputStream.<init>(Unknown Source)
 
然后我开始查找解决方法,其中我发现有两种原因,可能会出现这个错误
1.在初始化链接时,如果先创建输入流,再创建输出流可能会报错,正确创建顺序如下:
  ObjectOutputStream   output=new   ObjectOutputStream(socket.getOutputStream()); 
  ObjectInputStream   input=new   ObjectInputStream(socket.getInputStream()); 
 
2.很不幸,我的程序当时的创建顺序是同上的,也就是说不是以上的原因,那是什么原因呢,相信很多网友也不是上述原因,
经过各种排错,发现原因竟然是socket的端口被阻塞了,也就是我们需要更换端口号来解决,具体做法如下:
例如我之前在一个properties里面的
HOST=localhost
PORT=8888
我们只需要换成8000,就可以解决问题
实际上是
serverSocket = new ServerSocket(8000);
0
5
分享到:
评论

相关推荐

    RabbitMq+springboot

    demo中介绍了rabbitmq的三种模式,分别为Direct,topic,Fanout并且集成了消息确认机制,消息重发机制集以及集群, 需要用到的同学可以下载看看,少走弯路。

    jetty-io-9.4.43.v20210629-API文档-中英对照版.zip

    赠送jar包:jetty-io-9.4.43.v20210629.jar; 赠送原API文档:jetty-io-9.4.43.v20210629-javadoc.jar; 赠送源代码:jetty-io-9.4.43.v20210629-sources.jar; 赠送Maven依赖信息文件:jetty-io-9.4.43.v20210629....

    PHP的Socket通信之UDP通信实例

    本文实例讲述了PHP的Socket通信之UDP通信方法。分享给大家供大家参考。具体如下: 1.创建一简单的UDP服务器 //服务器信息 $server = 'udp://127.0.0.1:9998'; //消息结束符号 $msg_eof = "\n"; $socket = stream_...

    java上的即时通信

    import java.io.EOFException; import java.net.ServerSocket; import java.net.Socket; import java.awt.BorderLayout; import java.awt.Container; import java.awt.event.ActionEvent; import java.awt.event....

    JAVA实现SOCKET聊天

    } catch (EOFException ignored) { } catch (IOException ex) { if (listener == Thread.currentThread()) ex.printStackTrace(); } finally { handlers.removeElement(this); } try { dataIn.close(); }...

    mysql 异常com.mysql.jdbc.CommunicationsException

    com.mysql.jdbc.CommunicationsException Communications link failure due to underlying exception:

    socket编程

    java.io.EOFException at java.io.ObjectInputStream$BlockDataInputStream.peekByte(ObjectInputStream.java:2552) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1297) at java.io....

    Java图片处理ImageIO.read()问题

    NULL 博文链接:https://o-oand0-0.iteye.com/blog/1585854

    Nginx + Websocket 实现推送

    Nginx + Websocket 实现推送 , 实现思路 : http://blog.csdn.net/shangmingtao/article/details/76639821 . 代码可以直接线上运行.

    电子商务交易平台信用体系建设研究整理.pdf

    电子商务交易平台信用体系建设研究整理.pdf

    java异常处理

    java异常处理

    Flowable-BPMN操作流程部署启动源码

    Flowable-BPMN操作流程部署启动源码,具体理解和操作参考我的专栏https://blog.csdn.net/houyj1986/column/info/31755,第10节

    JAVA程序员.doc

    Java异常机制.pdf Java异常机制.pdf Java异常机制.pdf

    SwiftSocket封装库SwiftSockets.zip

     println("EOF, or great error handling \(errno).")  return  }  println("Answer to ring,ring is: \(count) bytes: \(block)") } socket.connect("127.0.0.1:80") {  socket.write("Ring...

    socket 同步服务器存储

    服务器使用一个同步套接字生成,因此,服务器应用程序的执行挂起,它在等待从客户端时的连接。 应用程序收到来自客户端的字符串,在控制台上显示字符... 从客户端的字符串必须包含字符串“&lt;EOF&gt;”用于通知消息的结尾。

    java 异常处理

    介绍Java程序中的异常概念,包括异常抛出、捕获和处理,自定义异常

    EOF.zip_EOF Matlab_EOF 分析_EOF分析_eof_matlab eof

    基于matlab的eof分析,有助于对于eof分析方法的理解

    hessdroid_android

    已经解决了第一次连接报:com.caucho.hessian.client.HessianConnectionException: 500: java.io.EOFException

    EOF.zip_EOF Python_EOF方法_eof_eof分解python_python实现eof

    EOF经验正交分解,是一种主成分分析方法用python语言实现,EOF计算得到了几个模态和对应的时间系数

Global site tag (gtag.js) - Google Analytics