服務器端報錯: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
求告知怎么解決的?我也遇到這個問題