A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 一个人旅行 中级黑马   /  2013-11-7 19:45  /  879 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

基础测试中遇到的一题,虽然交上去了,还想知道这题该怎么写。。。
使用TCP协议完成一个客户端一个服务器。客户端从键盘输入读取一个字符串,发送到服务器。

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

评分

参与人数 1技术分 +1 收起 理由
黄炳期 + 1

查看全部评分

2 个回复

倒序浏览
跟基础课程里23天13 基本没差啊
回复 使用道具 举报
本帖最后由 zuiaichiyu 于 2013-11-8 00:44 编辑

自己写的测试了一下 可以实现,异常直接抛出了需要导入的包
import java.net.*;
import java.io.*;
客户端代码
  1. public class Client {

  2.         public static void main(String[] args) throws Exception {

  3.                 // 建立客户端Socket服务端对象
  4.                 Socket s = new Socket("127.0.0.1", 10000);

  5.                 // 读取键盘录入
  6.                 BufferedReader bfr = new BufferedReader(
  7.                                 new InputStreamReader(System.in));

  8.                 // 通过打印流将读取的字符 打印到输出流
  9.                 PrintWriter pw = new PrintWriter(s.getOutputStream(), true);

  10.                 // 获取服务器返回的输入流对象
  11.                 BufferedReader bfrin = new BufferedReader(new InputStreamReader(
  12.                                 s.getInputStream()));

  13.                 String line = null;
  14.                 while ((line = bfr.readLine()) != null) {
  15.                         //向输出流打印
  16.                         pw.println(line);
  17.                         
  18.                         //读取返回的输入流并打印
  19.                         String reverline = bfrin.readLine();
  20.                         System.out.println(reverline);

  21.                 }
  22.                 pw.close();
  23.                 bfr.close();
  24.                 s.close();

  25.         }

  26. }
复制代码
服务器端代码
  1. public class Server {

  2.         public static void main(String[] args) throws Exception {

  3.                 //创建服务器端Socket服务对象,并监视10000端口
  4.                 ServerSocket ss = new ServerSocket(10000);
  5.                
  6.                 //建立与客户端的连接
  7.                 Socket s = ss.accept();

  8.                 // 获取客户端输入的内容
  9.                 BufferedReader bfr = new BufferedReader(new InputStreamReader(
  10.                                 s.getInputStream()));

  11.                 // 创建打印流 将输出结果 打印到输出流
  12.                 PrintWriter pw = new PrintWriter(s.getOutputStream(), true);

  13.                 String line = null;
  14.                 while ((line = bfr.readLine()) != null) {
  15.                         
  16.                         //使用字符串缓冲区的反转功能反转
  17.                         StringBuilder sb = new StringBuilder(line);
  18.                         sb = sb.reverse();
  19.                         line = sb.toString();
  20.                         pw.println(line);
  21.                 }        
  22.                 pw.close();
  23.                 bfr.close();
  24.                 ss.close();

  25.         }

  26. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
黄炳期 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马