服務器端報錯:java.net.SocketException: Connection reset
package?com.imooc.thread; import?java.io.IOException; import?java.io.InputStream; import?java.io.ObjectInputStream; import?java.io.ObjectOutputStream; import?java.io.OutputStream; import?java.io.PrintWriter; import?java.net.Socket; import?com.jinxin.entity.File; import?com.jinxin.entity.User; import?com.jinxin.service.FileService; import?com.jinxin.service.UserService; import?com.jinxin.util.CommandTransfer; public?class?ServerThread?extends?Thread?{ //和本線程相關的socket Socket?socket; public?ServerThread?(Socket?socket){ this.socket?=socket; } public?void?run(){ //3.創建輸入流,并讀取客戶端信息 try?{ InputStream?is?=?socket.getInputStream(); ObjectInputStream?ois?=?new?ObjectInputStream(is);//這是28行 CommandTransfer?com=null; try?{ com?=?(CommandTransfer)ois.readObject(); }?catch?(ClassNotFoundException?e)?{ //?TODO?Auto-generated?catch?block e.printStackTrace(); } operate(socket,com); socket.close(); }?catch?(IOException?e)?{ //?TODO?Auto-generated?catch?block e.printStackTrace(); } } public?void?operate(Socket?socket?,CommandTransfer?com)?throws?IOException{ if(com.getCmd().equals("select")){ UserService?userService?=?new?UserService(); if(userService.ckeckout((User)com.getData())){ socket.shutdownInput(); OutputStream?os?=?socket.getOutputStream(); ObjectOutputStream?oos?=?new?ObjectOutputStream(os); com.setFlag(true); oos.writeObject(com); oos.flush(); socket.shutdownOutput(); }else{ socket.shutdownInput(); OutputStream?os?=?socket.getOutputStream(); ObjectOutputStream?oos?=?new?ObjectOutputStream(os); com.setFlag(false); oos.writeObject(com); oos.flush(); socket.shutdownOutput(); } } if(com.getCmd().equals("register")){ UserService?userService?=?new?UserService(); if(userService.ckeckout((User)com.getData())){ socket.shutdownInput(); OutputStream?os?=?socket.getOutputStream(); ObjectOutputStream?oos?=?new?ObjectOutputStream(os); com.setFlag(false); oos.writeObject(com); oos.flush(); socket.shutdownOutput(); }else{ userService.register((User)com.getData()); socket.shutdownInput(); OutputStream?os?=?socket.getOutputStream(); ObjectOutputStream?oos?=?new?ObjectOutputStream(os); com.setFlag(true); oos.writeObject(com); oos.flush(); socket.shutdownOutput(); } } if(com.getCmd().equals("upload")){ FileService?fileService?=?new?FileService(); fileService.upload((File)com.getData()); socket.shutdownInput(); } } }
這是項目地址:http://www.xianlaiwan.cn/opus/resource?opus_id=3426
2016-11-07
先啟動服務器,再啟動客戶端。
2016-12-14
請問下是什么原因造成的?卡在這邊過不去了,一直沒找到原因
2016-11-28
求告知怎么解決的?我也遇到這個問題