?? 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 + -