首页 > 代码库 > 10、使用TCP协议完成一个客户端一个服务器。客户端从键盘输入读取一个字符串,发送到服务器。 服务器接收客户端发送的字符串,反转之后发回客户端。客户端接收并打印。

10、使用TCP协议完成一个客户端一个服务器。客户端从键盘输入读取一个字符串,发送到服务器。 服务器接收客户端发送的字符串,反转之后发回客户端。客户端接收并打印。

/**10、使用TCP协议完成一个客户端一个服务器。客户端从键盘输入读取一个字符串,发送到服务器。

服务器接收客户端发送的字符串,反转之后发回客户端。客户端接收并打印。

 

 * 客户端*/

import java.io.*;

import java.net.*;

 

publicclass Test10_Client {

   publicstatic void main(String[] args)throws Exception {

      Socket s = new Socket("192.168.0.103", 8080);//创建Socket对象;

      BufferedReader buf = new BufferedReader(

            new InputStreamReader(System.in));//从键盘获取输入流到缓冲区;

      BufferedWriter bufout=new BufferedWriter(new OutputStreamWriter(s.getOutputStream())

            );//创建一个输出流

      BufferedReader bufIn = new BufferedReader(new InputStreamReader(

            s.getInputStream()));//获取输入流…… 

      String line = null;

      while ((line = buf.readLine()) !=null) {

         if ("over".equals(line))

            break;

            bufout.write(line);

            bufout.newLine();

            bufout.flush();

            Stringstr=bufIn.readLine();

           System.out.print("server:"+str);

      }

      s.close();

   }

}

/**服务器端

 */import java.io.BufferedReader;

import java.io.BufferedWriter;

import java.io.InputStreamReader;

import java.io.OutputStreamWriter;

importjava.io.PrintWriter;

import java.net.ServerSocket;

import java.net.Socket;

 

 

publicclass Test10_Server {

   publicstatic void main(String []agrs)throws Exception

   {

      ServerSocket ss=new ServerSocket(8080);

       Socket s= ss.accept();

       String ip=s.getInetAddress().getHostAddress();

       System.out.println(ip+"we are connected!");

       BufferedReader buf =new BufferedReader(new InputStreamReader(s.getInputStream()));

       BufferedWriter bufout=new BufferedWriter(newOutputStreamWriter(s.getOutputStream())

            );//创建一个输出流

      // bufout.write(ip+"we are connected!");

       String line=null;

       while((line=buf.readLine())!=null){

          System.out.println(line);

          StringBuffer re=new StringBuffer(line);//字符串反转处理

          Stringstr=re.reverse().toString();

          System.out.println(re+"++   ++"+str);//服务器本地输出

          bufout.write(str);//将字符反转并输出到客户端

          bufout.newLine();

          bufout.flush();

       }

    s.close();

  

   }

}