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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© FCRandR 中级黑马   /  2015-10-25 21:57  /  350 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

Eclipse在一个java文件中有多个class,那主函数肯定是public,可是运行时总是有问题是怎么回事?但是editplus就没问题。
Exception in thread "main" java.lang.Error: Unresolved compilation problem:
        at com.itheima.TcpDemo.main(Test10.java:16)


  1. package com.itheima;


  2. import java.io.BufferedReader;
  3. import java.io.InputStreamReader;
  4. import java.io.PrintWriter;
  5. import java.net.ServerSocket;
  6. import java.net.Socket;

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

  10. public class TcpDemo//这段程序在editplus编译通过了,在这里我不知道怎么让它运行无错误,一直提示有问题。
  11. {
  12.         public static void main(String[] args)throws Exception
  13.         {
  14.                 new Thread(new Server(new ServerSocket(10030))).start();
  15.                 new Thread(new Client(new Socket("172.20.17.21", 10030))).start();
  16.                
  17.         }
  18.        
  19. }

  20. class Client implements Runnable
  21. {
  22.         //客户端构造函数
  23.         private Socket s;
  24.         Client(Socket s)
  25.         {
  26.                 this.s = s;
  27.         }
  28.         public void run()
  29.         {
  30. //                Socket s = new Socket("172.20.17.21", 10030);
  31.                 try
  32.                 {
  33.                         //定义键盘读入、网络输入输出流
  34.                         BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
  35.                         PrintWriter pout = new PrintWriter(s.getOutputStream(), true);
  36.                         BufferedReader bin = new BufferedReader(new InputStreamReader(s.getInputStream()));
  37.                        
  38.                         String buf = null;
  39.                        
  40.                         //读取键盘输入,写入网络流,
  41.                         while((buf=br.readLine())!=null)
  42.                         {
  43.                                 if("over".equals(buf))
  44.                                         break;
  45.                                 pout.println(buf);
  46.                                
  47.                                 //读Server返回的数据
  48.                                 System.out.println(bin.readLine());
  49.                         }
  50.                         s.close();
  51.                 }
  52.                 catch(Exception e)
  53.                 {
  54.                         throw new RuntimeException("发送失败");
  55.                 }
  56.                
  57.         }
  58.        
  59. }

  60. class Server implements Runnable
  61. {
  62.         //Server端
  63.         private ServerSocket ss;
  64.         Server(ServerSocket ss)
  65.         {
  66.                
  67.                 this.ss = ss;
  68.         }
  69.         public void run()
  70.         {
  71. //                ServerSocket ss = new ServerSocket(10030);
  72.                 try
  73.                 {
  74.                         Socket s = ss.accept();
  75.                         //定义读取写入网络流
  76.                         BufferedReader bin = new BufferedReader(new InputStreamReader(s.getInputStream()));
  77.                         PrintWriter pout = new PrintWriter(s.getOutputStream(), true);
  78.                         StringBuilder sb = new StringBuilder();
  79.                         while((sb=new StringBuilder(bin.readLine()))!=null)
  80.                         {
  81.                                 //反转后的数据发送回
  82.                                 pout.println(sb.reverse());
  83.                                
  84.                         }
  85.        
  86.                         ss.close();
  87.                         s.close();
  88.                 }
  89.                 catch(Exception e)
  90.                 {
  91.                         throw new RuntimeException("接受失败");
  92.                 }
  93.                
  94.         }
  95.        
  96. }
复制代码




0 个回复

您需要登录后才可以回帖 登录 | 加入黑马