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

黑马_小漒

初级黑马

  • 黑马币:31

  • 帖子:20

  • 精华:0

© 黑马_小漒 初级黑马   /  2014-8-18 22:03  /  1554 人查看  /  6 人回复  /   1 人收藏 转载请遵从CC协议 禁止商业使用本文

:handshake基础班才了15天课,走流程,遇到没学过的难题,求大神帮忙~~~:handshake

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

6 个回复

倒序浏览
  1. package com.itheima;
  2. /*10、        使用TCP协议完成一个客户端一个服务器。客户端从键盘输入读取一个字符串,发送到服务器。
  3. *                 服务器接收客户端发送的字符串,反转之后发回客户端。客户端接收并打印。
  4. * 思路:
  5. * 客户端:
  6. *                 1.建立Socket服务,明确地址值和端口。
  7. *                 2.获取键盘录入。
  8. *                         客户端的数据     源:键盘      目的:Socket
  9. *                 3.将数据传送到服务端
  10. *                 4.获取返回数据,并打印。
  11. *                         接受服务器的数据    源:Socket    目的:控制台
  12. *                 4.关闭资源。
  13. * 服务端:
  14. *                 1.建立ServerSocket服务。
  15. *                 2.获取socket对象。
  16. *                 3.源:socket,读取客户端发过来的需要转换的数据。
  17. *                 4.目的:显示在控制台上。
  18. *                 5.将数据转成大写发给客户端。
  19. *                 6.关闭资源。
  20. * */

  21. import java.net.*;
  22. import java.io.*;
  23. public class Test10 {
  24.         public static void main(String[] args)
  25.         {

  26.         }
  27. }
  28. class kehuduan
  29. {
  30.         public static void main(String[] args) throws Exception
  31.         {
  32.                 //建立Socket服务,明确地址值和端口
  33.                 Socket s= new Socket("121.17.151.182",10002);
  34.        
  35.                 //定义读取键盘数据的流对象
  36.                 BufferedReader bufr= new BufferedReader(new InputStreamReader(System.in));
  37.                 //定义目的,将数据写到Socket输出流
  38.                 BufferedWriter bufwOut= new BufferedWriter(new OutputStreamWriter(s.getOutputStream()));
  39.                 //定义Socket输入了,读取服务端返回的数据
  40.                 BufferedReader bufrIn= new BufferedReader(new InputStreamReader(s.getInputStream()));
  41.                 String line= null;
  42.                 while((line=bufr.readLine())!=null)
  43.                 {
  44.                         if("over".equals(line))
  45.                                 break;
  46.                         bufwOut.write(line);
  47.                         bufwOut.newLine();
  48.                         bufwOut.flush();
  49.                        
  50.                         String str=bufrIn.readLine();
  51.                         System.out.println(str);
  52.                 }
  53.                 //关闭资源
  54.                 bufr.close();
  55.                 s.close();
  56.         }
  57. }
  58. class fuwuduan
  59. {
  60.         public static void main(String[] args) throws Exception
  61.         {
  62.                 //建立ServerSocket服务
  63.                 ServerSocket ss= new ServerSocket(10002);
  64.                 Socket s= ss.accept();
  65.                
  66.                 String ip= s.getInetAddress().getHostAddress();
  67.                 System.out.println(ip+"连上了");
  68.                 //读取Socket输入流中的数据
  69.                 BufferedReader bufrIn= new BufferedReader(new InputStreamReader(s.getInputStream()));
  70.                 //目的,Socket输出流,将字符串反转并写入到输出流,发送给客户端
  71.                 BufferedWriter bufwOut= new BufferedWriter(new OutputStreamWriter(s.getOutputStream()));
  72.                 String line= null;
  73.                 while((line=bufrIn.readLine())!=null)
  74.                 {       
  75.                         System.out.println(line);
  76.                         StringBuffer sb= new StringBuffer(line);
  77.                         bufwOut.write(sb.reverse().toString());
  78.                         bufwOut.newLine();
  79.                         bufwOut.flush();
  80.                 }
  81.                 //关闭资源
  82.                 s.close();
  83.                 ss.close();               
  84.         }
  85. }
复制代码
回复 使用道具 举报
你学的好快啊  15天都弄到网络了
回复 使用道具 举报
里面涉及的内容是我们必须要掌握的,楼主还是要自己努力:handshake
回复 使用道具 举报
非常感谢~~各位前辈的支持和鼓励,一定会好好努力的,谢谢大家~~
回复 使用道具 举报

我也在学习,但是是自学的。一起努力
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马