| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1011 人关注过本帖
标题:救命呀......救我!!!!!
只看楼主 加入收藏
落落
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2005-9-23
收藏
 问题点数:0 回复次数:10 
救命呀......救我!!!!!

我的程序编译通过,但是运行时出了下面的错误: F:\>javac xyh\AppServer.java(编译通过) F:\>java xyh\AppServer.class Exception in thread "main" java.lang.NoClassDefFoundError: xyh\AppServer/class(运行出错) 求求恩人搭救我吧! 下面是我的程序: import java.io.*; import java.awt.event.*; import java.net.*;A public class AppServer { public static void main(String args[]) { new AppServer();} } class appServer extends Thread { ServerSocket server; void fail(String message,Exception e) { System.out.println(message+"."+e);} public appServer() { try { server=new ServerSocket(2876); } catch(IOException e) { fail("不能开始服务器!",e); } System.out.println("服务器开始:"); this.start(); } public void run() { try { while(true) { Socket netClient=server.accept(); Connection con=new Connection(netClient); } } catch(IOException e) { fail("不能监听到客户!",e); } } } class Connection extends Thread { protected Socket netClient; protected BufferedReader fromClient; protected PrintStream toClient; public Connection (Socket client) { netClient=client; try { fromClient=new BufferedReader(new InputStreamReader

(netClient.getInputStream())); toClient=new PrintStream(netClient.getOutputStream()); } catch(IOException e) { try{netClient.close();} catch(IOException e1) { System.out.println("不能关闭客户套接字"+e1); return; } } this.start(); } public void run() { String Message; try { for(;;) { Message=fromClient.readLine(); if(Message==null)break; toClient.println("你已登陆成功!"); System.out.println("来自客户的信息:"+Message); } } catch(IOException e) { System.out.println("读客户流异常!"+e);} finally { try{ netClient.close();} catch(IOException e) { System.out.println("不能关闭客户套接字!"+e); return; } } } } 期盼 期盼 期盼......

搜索更多相关主题的帖子: 救命 
2005-10-06 09:31
lcm
Rank: 4
等 级:贵宾
威 望:13
帖 子:140
专家分:0
注 册:2005-2-4
收藏
得分:0 
待会儿再看看。。。 现在还没搞好。。。呵呵 。。。

从 小 事 做 起,脚 踏 实 地 ~
2005-10-06 11:13
lcm
Rank: 4
等 级:贵宾
威 望:13
帖 子:140
专家分:0
注 册:2005-2-4
收藏
得分:0 
哎。。能力有限。。。还是没能帮你 。。。

从 小 事 做 起,脚 踏 实 地 ~
2005-10-06 12:00
落落
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2005-9-23
收藏
得分:0 

Thank you all the same!


2005-10-06 12:10
kai
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:52
帖 子:3450
专家分:59
注 册:2004-4-25
收藏
得分:0 
你的程序我也晕,看不懂。
我特地加了Dedug 来看你的程序,那个debug 确实打印了出来,
但是那个Socket 却对 toString() 函数无动于衷,
不管你用 if(netClient == null)
                 System.out.println("debug");
还是用if(netClient != null)
                 System.out.println("debug");
来测试,那个netClient 都没有反应。
不理解了。

import *;
import java.awt.event.*;
import *;
import java.nio.channels.IllegalBlockingModeException;
import

public class AppServer
{
  public static void main(String args[])
  {
    ApplicationServer as = new ApplicationServer();
  }
}

class ApplicationServer extends Thread
{  
  ServerSocket server;
  public void fail(String message,Exception e)
  {
    System.out.println(message+"."+e);
  }
  public ApplicationServer()
  {
    try
    {
      server=new ServerSocket(2876);
      if(server.isBound())
        System.out.println("is Bound");
    }
    catch(IOException e)
    {
      fail("不能开始服务器!",e);
    }
    System.out.println("服务器开始:");
    this.start();
  }
  public void run()
  {  
    try
    {         
      while(true)
      {
        System.out.println("debug");     // debug
        Socket netClient = server.accept();
        if(netClient.isConnected())
         System.out.println("is connected");     //Caution
        System.out.println(netClient.toString());  //Caution
        Connection con=new Connection(netClient);
      }
    }
    catch(IOException e)
    {
      fail("不能监听到客户!",e);
    }
    catch(SecurityException se)
    {
      fail("不能监听到客户!",se);
    }
    /*catch(SocketTimeoutException ste)
    {
      fail("不能监听到客户!",ste);
    }*/
    catch(IllegalBlockingModeException ibme)
    {
      fail("不能监听到客户!",ibme);
    }
  }
}

class Connection extends Thread
{  
  protected Socket netClient;
  protected BufferedReader fromClient;
  protected PrintStream toClient;
  public Connection (Socket client)
  {  
    netClient=client;
    try
    {
      
      fromClient=new BufferedReader(
        new InputStreamReader
        (netClient.getInputStream())
      );
      toClient=new PrintStream(netClient.getOutputStream());
    }
    catch(IOException e)
    {
      try
      {
        netClient.close();
      }
      catch(IOException e1)
      {
        System.out.println("不能关闭客户套接字"+e1);
        return;
      }
    }
    this.start();  
  }
  
  public void run()
  {
    String Message;
    try
    {  
      for(;;)
      {
        Message=fromClient.readLine();
        if(Message==null)
          break;
        toClient.println("你已登陆成功!");
        System.out.println("来自客户的信息:"+Message);
      }
    }
    catch(IOException e)
    {
      System.out.println("读客户流异常!"+e);
    }
    finally
    {
      try
      {
        netClient.close();
      }
      catch(IOException e)
      {
        System.out.println("不能关闭客户套接字!"+e);
        return;
      }
    }
  }
}

自由,民主,平等,博爱,进步.
中华民国,我的祖国,中华民国万岁!中华民国加油!
本人自愿加入中国国民党,为人的自由性,独立性和平等性而奋斗!
2005-10-06 12:17
250697812
Rank: 1
等 级:新手上路
帖 子:112
专家分:0
注 册:2005-10-5
收藏
得分:0 
初学者看不懂            

2005-10-06 15:20
lcm
Rank: 4
等 级:贵宾
威 望:13
帖 子:140
专家分:0
注 册:2005-2-4
收藏
得分:0 

import java.io.*; import java.awt.event.*; import java.net.*; import java.nio.channels.IllegalBlockingModeException; import java.net.SocketTimeoutException;

class appServer2 extends Thread { ServerSocket server; public void fail(String message,Exception e) { System.out.println(message+"."+e); } public appServer2() { try { server=new ServerSocket(2876); if(server.isBound()) System.out.println("is Bound"); } catch(IOException e) { fail("不能开始服务器!",e); } System.out.println("服务器开始:"); this.start(); } public void run() { try { while(true) { System.out.println("debug"); // debug Socket netClient = server.accept(); if(netClient.isConnected()) System.out.println("is connected"); //Caution System.out.println(netClient.toString()); //Caution Connection con=new Connection(netClient); } } catch(IOException e) { fail("不能监听到客户!",e); } catch(SecurityException se) { fail("不能监听到客户!",se); } /*catch(SocketTimeoutException ste) { fail("不能监听到客户!",ste); }*/ catch(IllegalBlockingModeException ibme) { fail("不能监听到客户!",ibme); } } public static void main(String args[]) //把 AppServer 合并到你所谓的 appServer { appServer2 as = new appServer2(); } } //为什么合并后 会运行出这些信息 /** * is Bound *服务器开始 *Debug * */


从 小 事 做 起,脚 踏 实 地 ~
2005-10-06 15:49
落落
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2005-9-23
收藏
得分:0 
版主我用jdk运行你改后的程序怎么还是那个问题呀? tell me:Exception in thread "main" java.lang.NoClassDefFoundError: xyh\AppServer/class 到底是怎么个意思? 谢谢! 先

2005-10-07 09:27
kai
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:52
帖 子:3450
专家分:59
注 册:2004-4-25
收藏
得分:0 
你再看一下,你是否完全Copy 了我5楼的代码?
我已经把你的那个class 名改掉了, 在你的代码中为 appServer, 我将它改为ApplicationServer
就是下面这个样子。
class ApplicationServer extends Thread

我估计这是class 名一样所造成的,虽然你将他们大小写作了区分,但是编译后会不会对大小写作区别呢?我怀疑问题就出在这里。
你的程序,在我修改后至少可以运行,但是还有问题。
我特地用了些笨办法来测试,结果却是到了
Socket netClient = server.accept(); 这一行程序就不动了,我也不懂了,只能帮到你这里了。

自由,民主,平等,博爱,进步.
中华民国,我的祖国,中华民国万岁!中华民国加油!
本人自愿加入中国国民党,为人的自由性,独立性和平等性而奋斗!
2005-10-07 09:42
落落
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2005-9-23
收藏
得分:0 

谢谢你版主 ! !

[em38]

2005-10-07 10:42
快速回复:救命呀......救我!!!!!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.028569 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved