zoukankan      html  css  js  c++  java
  • 网络编程_TCP交流

    LoginTwoWayClient

    package TCP;
    
    import java.io.BufferedReader;
    import java.io.DataInputStream;
    import java.io.DataOutputStream;
    import java.io.IOException;
    import java.io.InputStreamReader;
    import java.net.Socket;
    
    public class LoginTwoWayClient {
    
        public static void main(String[] args) throws IOException {
            // TODO Auto-generated method stub
            System.out.println("------client----------");
            BufferedReader console = new BufferedReader(new InputStreamReader(System.in));
            
            System.out.println("请输入用户名");
            String uname = console.readLine();
            System.out.println("请输入密码");
            String upwd = console.readLine();
            //建立连接  使用socket创建客户端 + 服务的地址和端口
            Socket client = new Socket("localhost",8888);
            //操作输入输出
            DataOutputStream dos = new DataOutputStream(client.getOutputStream());
            dos.writeUTF("uname=" + uname + "&" + "upwd=" + upwd);
            dos.flush();
            DataInputStream dis = new DataInputStream(client.getInputStream());
            String result = dis.readUTF();
            System.out.println(result);
            dis.close();
            dos.close();
            client.close();
        }
    }

    LoginTwoWayServer

    package TCP;
    
    import java.io.DataInputStream;
    import java.io.DataOutputStream;
    import java.io.IOException;
    import java.net.ServerSocket;
    import java.net.Socket;
    
    public class LoginTwoWayServer {
    
        public static void main(String[] args) throws IOException {
            // TODO Auto-generated method stub
            System.out.println("-------Server--------");
            ServerSocket sever = new ServerSocket(8888);
            //2.阻塞式等待连接accept
            Socket client = sever.accept();
            System.out.println("一个客户端建立了连接");
            //3.操作 输入输出流操作
            DataInputStream dis = new DataInputStream(client.getInputStream());
            String datas = dis.readUTF();
            String uname = "";
            String upwd = "";
            String[]dataArray = datas.split("&");
            for(String s:dataArray) {
                String[]userinfo = s.split("=");
                if(userinfo[0].equals("uname")) {
                    System.out.println("你的用户名为"+userinfo[1]);
                    uname = userinfo[1];
                }
                else if(userinfo[0].equals("upwd")){
                    System.out.println("你的用户名为"+userinfo[1]);
                    upwd = userinfo[1];
                }
            }
            //输出
            DataOutputStream dos = new DataOutputStream(client.getOutputStream());    
            if(uname.equals("wcy") && upwd.equals("wcy")) {
                dos.writeUTF("登入成功,欢迎回来");
                
            }else {
                dos.writeUTF("登入失败,账号密码不匹配");
            }
            dos.flush();
            dos.close();
            dis.close();
            client.close();
        }
    }
  • 相关阅读:
    js中用setTimeout写定时炸弹
    javascript函数的形参和实参
    在Mac OS X中配置Apache+PHP+MySQL(转)
    600多万用户密码使用次数统计分析程序
    pgsql数据库创建以及压缩包形式导入导出
    apache中的.htaccess配置示例收集整理
    收集常用的正则表达式及其应用
    采用htpasswd设置验证机制
    用apache做代理时候,可设置请求头信息
    ubuntu在混合环境中创建和配置文件共享
  • 原文地址:https://www.cnblogs.com/Galesaur-wcy/p/14197427.html
Copyright © 2011-2022 走看看