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
    
         }
    
    }
    路慢慢其休远羲,吾将上下而求所
  • 相关阅读:
    Relativity 01: Physical Meaning of Geometrical Propositions
    Algo 2: Asymptotic Order of Growth
    CShop Project : BeanUtils工具的使用
    137 __getattribute__
    134 isinstance和issubclass
    135 反射(hasattr和getattr和setattr和delattr)
    133 面向对象进阶实战之选课系统
    132 面向对象进阶小结
    131 类和对象的绑定方法及非绑定方法
    130 类的property特性
  • 原文地址:https://www.cnblogs.com/garinzhang/p/2550022.html
Copyright © 2011-2022 走看看