zoukankan      html  css  js  c++  java
  • Java Socket例程2 Echo

    EchoServer.java

    import java.io.BufferedReader;
    import java.io.IOException;
    import java.io.InputStreamReader;
    import java.io.PrintWriter;
    import java.net.ServerSocket;
    import java.net.Socket;

    public class EchoServer{
    public static void main(String args[]) throws IOException{
    ServerSocket serverSocket = null;
    PrintWriter out = null;
    BufferedReader in = null;
    try{
    serverSocket = new ServerSocket(1111);
    }
    catch(IOException e){
    System.err.println("Could not listen on port 1111.");
    System.exit(1);
    }

    Socket incoming = null;

    while(true){
    incoming = serverSocket.accept();
    out = new PrintWriter(incoming.getOutputStream());
    in = new BufferedReader(new InputStreamReader(incoming.getInputStream()));
    out.println("Hello!");
    out.println("Enter BYTE to exit");
    out.flush();
    while(true){
    String str = in.readLine();
    if(str == null){
    break;
    }
    else{
    out.println("Echo:"+str);
    out.flush();
    if(str.trim().equalsIgnoreCase("BYE"))
    break;
    }
    }
    out.close();
    in.close();
    incoming.close();
    serverSocket.close();
    }
    }
    }

    EchoClient.java

    import java.io.BufferedReader;
    import java.io.IOException;
    import java.io.InputStreamReader;
    import java.io.PrintWriter;
    import java.net.Socket;
    import java.net.UnknownHostException;

    public class EchoClient{
    public static void main(String args[]) throws IOException{
    Socket echoSocket = null;
    PrintWriter out = null;
    BufferedReader in = null;
    try {
    echoSocket = new Socket("localhost",1111);
    out = new PrintWriter(echoSocket.getOutputStream(),true);
    in = new BufferedReader(new InputStreamReader(echoSocket.getInputStream()));
    }
    catch(UnknownHostException e){
    System.err.println("Don't know about host:localhost");
    System.exit(1);
    }
    System.out.println(in.readLine());
    System.out.print(in.readLine());
    BufferedReader stdIn = new BufferedReader(new InputStreamReader(System.in));
    String userInput;
    while((userInput = stdIn.readLine()) != null){
    out.println(userInput);
    System.out.println("Recv:"+in.readLine());
    }

    out.close();
    in.close();
    echoSocket.close();
    }
    }




  • 相关阅读:
    创建 SSH Keys
    idea创建管理项目
    springboot拦截器之验证登录
    SpringBoot防XSS攻击
    String,StringBuffer与StringBuilder的区别|线程安全与线程不安全
    算法的时间复杂度和空间复杂度详解
    switch语句以及三种循环语句的总结
    kafka原理简介并且与RabbitMQ的选择
    Kafka、RabbitMQ、RocketMQ等消息中间件的对比 —— 消息发送性能和区别
    RabbitMQ和kafka从几个角度简单的对比
  • 原文地址:https://www.cnblogs.com/hnrainll/p/2291067.html
Copyright © 2011-2022 走看看