2021/8/10

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;
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值