黑马程序员技术交流社区

标题: 怎么在eclipse上同时运行客户端和服务端 [打印本页]

作者: 张俊生    时间: 2013-9-2 23:48
标题: 怎么在eclipse上同时运行客户端和服务端
本帖最后由 张俊生 于 2013-9-3 22:34 编辑
  1. import java.io.*;
  2. import java.net.*;

  3. class  TcpClient
  4. {
  5.         public static void main(String[] args) throws Exception
  6.         {
  7.                 //建立Socket对象
  8.                 Socket s = new Socket("192.168.3.130",10005);
  9.                 //定义读取键盘数据的流对象
  10.                 BufferedReader bufr =
  11.                         new BufferedReader(new InputStreamReader(System.in));
  12.                 //定义目的,将数据写入到Socket输出流,发给服务端。
  13.                 BufferedWriter bufOut =
  14.                         new BufferedWriter(new OutputStreamWriter(s.getOutputStream()));
  15.                 //定义一个Socket读取流,读取服务端返回的大写信息
  16.                 BufferedReader bufIn =
  17.                         new BufferedReader(new InputStreamReader(s.getInputStream()));
  18.                 String line = null;

  19.                 while ((line = bufr.readLine()) != null)
  20.                 {
  21.                         if ("over".equals(line))
  22.                         {
  23.                                 break;
  24.                         }
  25.                         bufOut.write(line);
  26.                         bufOut.newLine();
  27.                         bufOut.flush();
  28.                         

  29.                         String str = bufIn.readLine();
  30.                         System.out.println("server:  "+str);

  31.                 }
  32.                 bufr.close();
  33.                 s.close();
  34.                
  35.         }
  36. }

  37. class TransServer
  38. {
  39.         public static void main(String[] args) throws Exception
  40.         {
  41.                 ServerSocket ss = new ServerSocket(10005);
  42.                 Socket s = ss.accept();

  43.                 String ip = s.getInetAddress().getHostAddress();
  44.                 System.out.println(ip + ".....conneted");
  45.                         //读取socket读取流中的数据
  46.                 BufferedReader bufIn =
  47.                         new BufferedReader(new InputStreamReader(s.getInputStream()));
  48.                 //目的 socket 输出流,将大写数据写入到socket输出流,并发送给客户端
  49.                 BufferedWriter bufOut =
  50.                         new BufferedWriter(new OutputStreamWriter(s.getOutputStream()));
  51.                 String line = null;
  52.                 while ((line = bufIn.readLine()) !=null)
  53.                 {
  54.                         System.out.println(line);
  55.                         line = myreverse(line);
  56.                         bufOut.write(line);
  57.                         bufOut.newLine();
  58.                          bufOut.flush();

  59.                 }
  60.                 s.close();
  61.                 ss.close();
  62.         }
  63.         public static String myreverse(String str){
  64.         
  65.                 char[] arr = str.toCharArray();
  66.                 int low = 0;
  67.                 int hight = arr.length-1;
  68.                 for (int i =0;low<hight ;i++ )
  69.                 {
  70.                         char temp = arr[low];
  71.                             arr[low] = arr[hight];
  72.                                 arr[hight] = temp;
  73.                                 low++;
  74.                                 hight--;
  75.                 }
  76.                 return new String(arr);
  77.         }
  78. }
复制代码

作者: 神之梦    时间: 2013-9-3 00:35
用cmd吧,
用eclipse也可以运行两个类,不过貌似只能执行一次
作者: lonely_zb    时间: 2013-9-3 02:11
使用cmd窗口,双开,分别执行2个java类。
作者: 楞个里格朗    时间: 2013-9-3 09:54
这个貌似是不行·两组代码是单独的,不可能在一个类里面执行 CMD 开两个分别编译运行
作者: 张俊生    时间: 2013-9-3 22:35
今天问老师了,开两个class类就行了




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2