📄 serverthread.java
字号:
package cn.edu.buaa.scse.liyi.network.test;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.net.Socket;
public class ServerThread extends Thread
{
Socket clientRequest;
ObjectInputStream objectInputStream;
ObjectOutputStream objectOutputStream;
Message message=null;
Object obj=null;
public ServerThread(Socket s)
{ // serverThread的构造器
this.clientRequest=s;
try
{
objectInputStream=new ObjectInputStream(clientRequest.getInputStream());
objectOutputStream=new ObjectOutputStream(clientRequest.getOutputStream());
}
catch(IOException e)
{
e.printStackTrace();
System.out.println(e.getMessage());
}
}
public void run()
{// 线程的执行方法
boolean done=false;
while(!done)
{
try
{
obj=objectInputStream.readObject();
}
catch(IOException e)
{
e.printStackTrace();
}
catch(ClassNotFoundException e)
{
e.printStackTrace();
}
if(obj==null)
{
done=true;
continue;
}
if(obj instanceof Message)
{
message=(Message)obj;
}
if(message==null)
{
done=true;
continue;
}
// 回调接口推接收的信息
// h.handle(message);
System.out.println("receive client msg:"+message.toString());
try
{
objectOutputStream.writeObject(new Message());
}
catch(IOException e)
{
e.printStackTrace();
}
}
try
{
objectOutputStream.flush();
objectOutputStream.close();
objectInputStream.close();
clientRequest.close(); // 关闭套接字
}
catch(IOException e)
{
e.printStackTrace();
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -