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

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

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

 

 * 客户端*/

import java.io.*;

import java.net.*;

 

public class Test10_Client {

   public static 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;

import java.io.PrintWriter;

import java.net.ServerSocket;

import java.net.Socket;

 

 

public class Test10_Server {

   public static 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();

  

   }

}

  • 2
    点赞
  • 37
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
采用TCP协议实现一个客户端服务器网络编程实验,需要进行以下步骤: 1. 确定实验目标:确定实验的目标,如通过网络编程实现客户端服务器之间的数据传输,了解TCP协议的工作原理等。 2. 环境设置:在开发环境中设置好服务器客户端的实验环境,可以选择使用Python或Java等编程语言进行开发。 3. 创建服务器端:在服务器端,需要创建一个Socket对象,并绑定一个IP地址和端口号,以便客户端能够连接到该服务器。然后,通过监听客户端的连接请求,接受连接,建立通信。 4. 创建客户端:在客户端,同样需要创建一个Socket对象,并指定服务器的IP地址和端口号。然后,通过该Socket对象与服务器建立连接,并发送需要传输的数据。 5. 通信实现:客户端服务器之间的通信基于TCP协议,可以通过Socket对象调用send()方法发送数据,使用recv()方法接收数据。服务器端需要使用accept()方法接受客户端的连接请求,并调用recv()方法接收客户端发送的数据。 6. 数据传输:客户端可以通过Socket对象的send()方法传输数据到服务器端,服务器端通过recv()方法接收到数据后进行处理,并可以通过send()方法将处理结果返回给客户端。 7. 实验结果验证:在实验完成后,可以验证数据的正确传输和通信的可靠性,可以通过打印出接收到的数据或返回给客户端的处理结果来验证实验的正确性。 8. 错误处理:在编程实验中,需要考虑到可能出现的错误情况,并添加相应的错误处理机制,以确保网络编程的稳定性和可靠性。 通过上述步骤的实验,可以深入了解TCP协议的工作原理,并掌握使用TCP协议进行网络编程的方法和技巧。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值