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();
    }
    }




  • 相关阅读:
    HDU 1106 排序
    strtok函数()
    HDU 2187汶川地震
    HDU 1716 排列2
    Rightmost Digit
    Text Reverse
    快速幂
    插入排序的一个应用-调整负数在前,正数在后,原来相对位置不变
    cuda 5.0配置vs2008+Visual Assist X +安装问题解决
    vc 热键、组合键的用法
  • 原文地址:https://www.cnblogs.com/hnrainll/p/2291067.html
Copyright © 2011-2022 走看看