8:130-9:00 学习打卡
9:30-12:00 写qq项目
15:00-17:00 写qq项目
1.信息类
网络传输所用到的类,将信息包装成类的形式,再传输后区分,现在只有id和密码信息,以后还会添加。
package qqc.user;
public class User implements java.io.Serializable{
String UserId;//用户id
String Userpassward;//用户密码
Boolean ok=false;
public Boolean getOk() {
return ok;
}
public void setOk(Boolean ok) {
this.ok = ok;
}
public String getUserId() {
return UserId;
}
public void setUserId(String userId) {
UserId = userId;
}
public String getUserpassward() {
return Userpassward;
}
public void setUserpassward(String userpassward) {
Userpassward = userpassward;
}
public User(String userId, String userpassward) {
this.UserId = userId;
this.Userpassward = userpassward;
}
}
2.服务器开启后的接受类
当按下启动服务器时,服务器的接收类将会打开,接收信息并加以处理。现在只为测试是否能接收客服端的信息。
package qqserver.mode;
//qq服务器内部
import qqc.massage.Massage;
import qqc.user.User;
import java.io.*;
import java.net.ServerSocket;
import java.net.Socket;
public class qqserverm {
public qqserverm(){
try {
ServerSocket ss = new ServerSocket(8888);
while (true) {//为了一直接收从客服端来的信息
Socket s = ss.accept();
ObjectInputStream ois = new ObjectInputStream(s.getInputStream());
ObjectOutputStream oos = new ObjectOutputStream(s.getOutputStream());
User u1 = (User) ois.readObject();
Massage m = new Massage();
System.out.println(u1.getUserId());
if (u1.getUserpassward().equals("123456")) {
m.setS("1");
} else {
m.setS("2");
}
oos.writeObject(m);
ois.close();
oos.close();
}
} catch(IOException | ClassNotFoundException e){
e.printStackTrace();
}
}
public void inlt() throws IOException {
}
public static void main(String argv[]){
new qqserverm();
}
}
3.客服端的请求类
将信息发给服务器并接收服务器给的反馈。并做出相应的处理。目前只做出将id密码发给服务器,将接收服务器给的反馈。成功打开好友界面。
package qqc.mode;
import qqc.user.User;
import qqc.massage.Massage;
import java.io.*;
import java.net.Socket;
public class qqlogin {
boolean flag=false;
public qqlogin(){
}
public void inlt(Object u){
try {
Socket s=new Socket("127.0.0.1",8888);
ObjectOutputStream oos=new ObjectOutputStream(s.getOutputStream());
ObjectInputStream ois=new ObjectInputStream(s.getInputStream());
oos.writeObject(u);
Massage m=(Massage) ois.readObject();
if(m.getS().equals("1")){
flag=true;
}
s.close();
} catch (IOException | ClassNotFoundException e) {
e.printStackTrace();
}
}
public boolean ok(){//将反馈发送给主类
return flag;
}
}