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
    
         }
    
    }
    路慢慢其休远羲,吾将上下而求所
  • 相关阅读:
    linux/unix下 pid文件作用浅析
    gunicorn启动django时静态文件的加载
    分享30道Redis面试题,面试官能问到的我都找到了
    python利用mongodb上传图片数据 : GridFS 与 bson两种方式
    GridFS大文件的添加、获取、查看、删除
    你真的懂redis吗?
    mongoDB的复制集5----复制集安全(认证,用户,权限)
    MongoDB复制集安全认证
    MongoDB 用户名密码登录
    MongoDB 分片
  • 原文地址:https://www.cnblogs.com/garinzhang/p/2550022.html
Copyright © 2011-2022 走看看