
/*
* 这是服务器与某个客户端的通讯线程
*/
package qqModel;
import java.net.*;
import qqCommon.Message;
import java.io.*;
public class SerConClientThread extends Thread {
Socket s;
public SerConClientThread(Socket s) {
//把服务器和客户端连接赋给s
this.s = s;
}
public void run() {
// while(true ) {
System.out.println("这是线程");
//这里该线程就可以接受客户端的信息
// ObjectInputStream ois;
try {
ObjectInputStream ois = new ObjectInputStream(s.getInputStream());
Message m = (Message) ois.readObject();
System.out.println(m.getSender()+"发送给"+m.getGetter()+"的消息:"+m.getCon());
//完成转发
//取得接收人的通讯线程
SerConClientThread sc = ManageClientThread.getClientThread(m.getGetter());
//转发给接收人
ObjectOutputStream oos = new ObjectOutputStream(sc.s.getOutputStream());
//发送
oos.writeObject(m);
ois.close();
oos.close();
} catch (IOException | ClassNotFoundException e) {
e.printStackTrace();
}
// }
}
}