socket问题请教,谢谢
socket问题请教,谢谢
程序连接上对方的serversocket后,成功发送数据到服务器端,但在接受服务器端的
应答时,捕获java.io.eofexception异常
这个程序在其他机器上可以完全正常运行,可以发可以收,但不知道为什么放到这台
机器后就出这种错误,请专家高手指教,万分感谢
程序代码大致如下:
...........
//参数定义
Socket connection = new Socket(InetAddress.getByName(ip), 10000);
DataInputStream in =new DataInputStream(new BufferedInputStream(connection.getInputStream()));
DataOutputStream out =new DataOutputStream(new BufferedOutputStream(connection.getOutputStream()));
//发送数据(完全正常)
int len;
.....
out.writeInt(len) ;
.....
out.flush();
//开始等待服务器应答数据
len=in.readInt();
//就是上面这句出现java.io.eofexception异常,但该程序在其他机器上可以接收到数据,我开始想把read到的数据长度小一点,但不管是readByte还是其他什么,都是这个错误(有人说是否和网络设置有关,比如在路由器设置上禁止了网络访问什么的,但怎么可以发过去呢,如果禁止了的话,read是死等,也不至于出eof异常,只是读不到而已)
.......
问题点数:0、回复次数:1Top
1 楼helpall(was jl)回复于 2003-05-02 22:38:42 得分 0
因为没有看到具体的EOFException,只能猜测可能是通信时间过长,服务器端已经把它关闭了.
你试试在服务器端延长SOCKET的寿命,再打出具体的EOFException.Top




