Java网络TankServer端抛错!java.io.EOFException
TankWar1.8.2.rar
(18.27 KB)
我这里在做一个用Java写的坦克大战的练习,写这个网络版时,我的Server要保存客户端的UdpPort,
可在起了server后,提示int udpPort = dis.readInt();这里抛异常,可我后面不是已经都catch了,怎么还会有这个异常,代码如下
while(true) {
Socket s =null;
try {
s = ss.accept();
DataInputStream dis = new DataInputStream(s.getInputStream());
int udpPort = dis.readInt();
String IP = s.getInetAddress().getHostAddress();
Client c = new Client(IP,udpPort);
clients.add(c);
System.out.println(" a Client Connect : Addr:" + s.getInetAddress() + "PORT:" + s.getPort() + "udpPort:" +udpPort);
}catch(EOFException e){
e.printStackTrace();
}catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
if(s!=null)
try {
s.close();
s = null;
}catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
就在那一句那个地方 catch,结果还是抛错!我在想是不是我readInt用的有问题啊?
我的客户端从服务器收到的信息是正确的
at (Unknown Source)
at TankServer.start(TankServer.java:31)
at TankServer.main(TankServer.java:60)
我把整个源码传到附近了,忘高手帮我看下,麻烦各位了!就是起了TankServer后,再起TankClient后server端就抛出上面的那个错误