继续之前的qq聊天室:
package qqservice;
import qqcommon.MassageType;
import qqcommon.Message;
import qqcommon.User;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.net.Socket;
public class qqcheck {
private User u =new User();
private Socket socket;
public boolean checkUser(String userId,String pwd) throws IOException, ClassNotFoundException {
u.setUserId(userId);
u.setPassWd(pwd);
socket = new Socket("127.0.0.1",9999);
//发送给服务端
ObjectOutputStream oos = new ObjectOutputStream(socket.getOutputStream());
oos.writeObject(u);
//从服务端读取
ObjectInputStream ois = new ObjectInputStream(socket.getInputStream());
Message ms =(Message) ois.readObject();
if(ms.getMesType().equals(MassageType.MESSAGE_LOGIN_SUCCEED)){
//创建一个ClientConnectServerThread
}else {
}
}
}
package qqservice;
import qqcommon.Message;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.net.Socket;
public class ClientConnectServerThread extends Thread {
private Socket socket;
public ClientConnectServerThread(Socket socket){
this.socket=socket;
}
@Override
public void run() {
//因为线程在后台与服务器通讯,所以需要用while循环
while(true){
System.out.println("客户端等待从服务器端发送的消息");
try {
ObjectInputStream ois = new ObjectInputStream(socket.getInputStream());
Message mes=(Message) ois.readObject();
} catch (IOException | ClassNotFoundException e) {
e.printStackTrace();
}
}
}
public Socket getSocket(){
return socket;
}
}