java socket reset_服务器端报错:java.net.SocketException: Connection reset

470b57715b11aac33ade1dfb90cbf1c5.pngpackage 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.imooc.com/opus/resource?opus_id=3426

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值