JAVA网络编程叶存菜鸟TCP程序设计笔记echo程序经典案列

Echo是一个经典的网络编程通信交互案列,回应程序,掌握其知识点,总统概括出ServerSocket  和   Socket的用法

服务器端,一个基本输入流,一个基本输出流,其是接收读取客户端的输入和将服务器对客户处理后的数据输出的一个流程

import java.io.*;
import java.net.*;
public class EchoApplication {
  public static void main(String args[])throws Exception{
         ServerSocket server=null;        //定义ServerSocket 对象
          Socket client =null;                 //定义Socket对象
          PrintStream out=null;              //输出流,将服务器端要发出的消息,通过输出流输出给客户端
          BufferedReader buf=null;               //输入流,读出客户端客户需要传递的消息给服务器
         server=new ServerSocket(9999);      //根据端口实例化Server 
        boolean f=true;
         while(f){                                        //f是一个标记,由于accept()只能调用一次,于是采取一直调用请求的状态
    client=server.accept();                //一直接收客户端消息,语句毕用;
    buf=new BufferedReader(new InputStreamReader(client.getInputStream()));       //接收客户端输入的信息
    out=new PrintStream(client.getOutputStream());  //实例化打印流,打印输出信息
    boolean flag=true; 
    while(flag){                                                  //flag定义一个基本标记,不断接收客户端输入的消息,并输出服务器信息给客户端
    String str=buf.readLine();
    if(str==null||"".equals(str)){
    flag=false;
    }
    if("bye".equals(str)){
    out.println("输入结束");
    flag=false;
     
    }else{
    out.println(str);
    }
    }
     }
     server.close();
     buf.close();
     out.close();
}
}

你可能感兴趣的:(JAVA网络编程叶存菜鸟TCP程序设计笔记echo程序经典案列)