zoukankan      html  css  js  c++  java
  • TCP 登录实现代码

    import java.io.BufferedReader;
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.InputStreamReader;
    import java.io.OutputStream;
    import java.io.PrintWriter;
    import java.net.ServerSocket;
    import java.net.Socket;
    
    /**
     * 登录服务器
     * @author Administrator
     *
     */
    public class LoginServerDemo {
    
        public static void main(String[] args) {
            // TODO Auto-generated method stub
            int port = 20000;
            try {
                ServerSocket  ss = new ServerSocket(port);
                System.out.println("服务器已启动");
                Socket socket = ss.accept();
                System.out.println("有客户连接进来");
                InputStream in = socket.getInputStream();
                BufferedReader br = 
                        new BufferedReader(new InputStreamReader(in));
                OutputStream out = socket.getOutputStream();
                PrintWriter pw = new PrintWriter(out);
                String str = null;
                String name = "";
                String pwd = "";
                while( (str = br.readLine()) != null ){
                    String tag = str.split(":")[0];
                    if(tag.equals("name")){
                        name = str.split(":")[1];
                    }else if(tag.equals("pwd")){
                        pwd = str.split(":")[1];
                    }
                    if((!name.equals(""))&&(!pwd.equals(""))){
                        //进行登录判断
                        if(name.equals("zhangsan") && pwd.equals("123456")){
                            pw.println("true");
                        }else{
                            pw.println("false");
                        }
                        pw.flush();
                        break;
                    }
                }
                socket.close();//关闭连接
                ss.close();//关闭服务器
                System.out.println("服务器已关闭");
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
    
    }
    
    import java.io.BufferedReader;
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.InputStreamReader;
    import java.io.ObjectInputStream;
    import java.io.OutputStream;
    import java.io.PrintWriter;
    import java.net.ServerSocket;
    import java.net.Socket;
    
    
    public class LoginObjectServerDemo {
    
        public static void main(String[] args) {
            // TODO Auto-generated method stub
            int port = 20000;
            try {
                ServerSocket  ss = new ServerSocket(port);
                System.out.println("服务器已启动");
                Socket socket = ss.accept();
                System.out.println("有客户连接进来");
                InputStream in = socket.getInputStream();
                ObjectInputStream oin = new ObjectInputStream(in);
                OutputStream out = socket.getOutputStream();
                PrintWriter pw = new PrintWriter(out);
                String str = null;
                String name = "zhangsan";
                String pwd = "123456";
                //接收客户端登录消息
                Object obj = null;
                if((obj = oin.readObject())!= null){
                    UserInfo ui = (UserInfo)obj;
                    if(name.equals(ui.getUsername())&&pwd.equals(ui.getPassword())){
                        pw.println("true");
                    }else{
                        pw.println("false");
                    }
                    pw.flush();
                }
    
                socket.close();//关闭连接
                ss.close();//关闭服务器
                System.out.println("服务器已关闭");
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (ClassNotFoundException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
    
    }
    
  • 相关阅读:
    测试存储过程性能
    如何修改Oracle字符集
    Hadoop学习地址
    HiveQ与传统SQL差异
    PHP7 学习笔记(十二)Stream 函数详解
    Linux 命令详解(十二)Systemd 入门教程:使用定时器发送邮件(mail)
    【坑】zsh和oh-my-zsh卸载后导致无法登陆
    Golang入门教程(十六)Goridge -高性能的 PHP-to-Golang RPC编解码器库
    Nginx 学习笔记(十)介绍HTTP / 2服务器推送(译)
    Golang入门教程(十五)指针
  • 原文地址:https://www.cnblogs.com/mrcharles/p/11879957.html
Copyright © 2011-2022 走看看