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();
            }
        }
    
    }
    

    版权声明:本文为博主原创文章,未经博主允许不得转载。

  • 相关阅读:
    JavaScript的函数闭包详细解释
    JavaScript 函数详解
    JavaScript的内置对象(Math对象)
    C#将exe运行程序嵌入到自己的winform窗体中
    C# 获取进程或线程的相关信息
    Easy way to change collation of all database objects in SQL Server
    <?xml version="1.0" encoding="utf-16"?>. use different encoding
    在HTML页面中实现一个简单的Tab
    C# WinForm中将Form显示在Panel中(C#)
    System.InvalidOperationException : 不应有 <Response xmlns=''>。
  • 原文地址:https://www.cnblogs.com/mrcharles/p/4731771.html
Copyright © 2011-2022 走看看