zoukankan      html  css  js  c++  java
  • Java Socket 7部曲

    Client:

    Socket socket = new Socket("localhost", 8882); //初始化socket,如果是server端则多一个ServerSocket的初始化
    
    BufferedReader sis = new BufferedReader(new InputStreamReader(System.in)); //获得系统输入流
    
    BufferedReader is = new BufferedReader(new InputStreamReader(socket.getInputStream())); //得到socket的输入流,就是从server 发送过来的字符
    
    PrintWriter os = new PrintWriter(socket.getOutPutStream()); //得到socket的输出流,就是即将发送到server的管道
    
    string readLine = sis.readLine(); //获得系统输入的一行
    
    while(!readLine.equals("bye")) { 
    
              os.println(readLine); //向服务器发送字符流
    
              os.flush();
    
              System.out.println("Client: " + readLine + "Server: " + is.readLine());
    
              readLine = sis.readLine();
    
        }
    
    is.close(); // 关闭流
    
    os.close();
    
    socket.close();

    Server:

    ServerSocket server = new ServerSocket(8882);
    
    Socket socket = server.accept(); //初始化socket,server端多一个ServerSocket的初始化
    
    BufferedReader sis = new BufferedReader(new InputStreamReader(System.in)); //获得系统输入流
    
    BufferedReader is = new BufferedReader(new InputStreamReader(socket.getInputStream())); //得到socket的输入流,就是从server 发送过来的字符
    
    PrintWriter os = new PrintWriter(socket.getOutPutStream()); //得到socket的输出流,就是即将发送到server的管道
    
    string readLine = sis.readLine(); //获得系统输入的一行
    
    while(!readLine.equals("bye")) { 
    
              os.println(readLine); //向服务器发送字符流
    
              os.flush();
    
              System.out.println("Client: " + readLine + "Server: " + is.readLine());
    
              readLine = sis.readLine();
    
        }
    
    is.close(); // 关闭流
    
    os.close();
    
    socket.close();
    
    

    MultiThread SocketServer:

    public SocketServer extends Thread {
    
         public static void main(String[] args) {
    
              ServerSocket server = new ServerSocket(8882);
    
              while(true) {
    
                        Socket socket = server.accept();
    
              }
    
         }
    
         public void run() {
    
              // Left 6 steps
    
         }
    
    }
    路慢慢其休远羲,吾将上下而求所
  • 相关阅读:
    node异步转同步(循环)
    三级省市区PCASClass.js插件
    微信公众号基础总结(待更新)
    ES6详解
    webpack配置
    高性能 CSS3 动画
    github上传口令
    纯css3 实现3D轮播图
    优美的js代码,拿去玩~
    关于列举属性用点还是用【】
  • 原文地址:https://www.cnblogs.com/garinzhang/p/2550022.html
Copyright © 2011-2022 走看看