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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

  1. package Myserver;

  2. import java.io.IOException;
  3. import java.io.InputStream;
  4. import java.io.PrintWriter;
  5. import java.net.ServerSocket;
  6. import java.net.Socket;

  7. public class Server {
  8.         public static void main(String[] args) throws IOException{
  9.         ServerSocket ss = new ServerSocket(8080);//报错不知道啥意思
  10.         Socket s = ss.accept();
  11.         System.out.println(s.getInetAddress().getHostAddress()+"........connected");
  12.        
  13.         InputStream in = s.getInputStream();
  14.         byte[] buf = new byte[1024];
  15.        
  16.         int len = in.read(buf);
  17.         String str = new String(buf,0,len);
  18.         System.out.println(str);
  19.        
  20.         PrintWriter out = new PrintWriter(s.getOutputStream(),true);
  21.         out.println("<font size='7' color='red'>欢迎光临</font>");
  22.        
  23.         s.close();
  24.         ss.close();
  25. }
  26. }
复制代码
报错是at java.net.ServerSocket.<init>(ServerSocket.java:97)        at Myserver.Server.main(Server.java:11)


评分

参与人数 1技术分 +1 收起 理由
zzkang0206 + 1

查看全部评分

5 个回复

倒序浏览
我运行了一下, 没有报错啊............
回复 使用道具 举报
我把你的代码整个复制下了,也搞了老半天。问题是这样的。
1.看好了,你的这个Java代码是带包的,就是那个 package Myserver;如果你直接用 javac Server.java编译,编译时不会有问题,但是java Server运行的时候就会有异常,java.lang.NoClassDefFoundError;
2.所以的这段代码编译的时候需要打包,使用javac -d . Server.java  进行编译。这样会把你的class 文件放在一个包下。
3.运行。运行的时候不能使用java Server了,要使用java package.classname 运行,即java Myserver.Server;

评分

参与人数 1技术分 +1 收起 理由
zzkang0206 + 1

查看全部评分

回复 使用道具 举报
weimoliang 发表于 2014-5-13 07:56
我把你的代码整个复制下了,也搞了老半天。问题是这样的。
1.看好了,你的这个Java代码是带包的,就是那个  ...

这个样子啊,谢了
回复 使用道具 举报
第11行报错应该是端口被其他程序占用了,建议换其他端口
回复 使用道具 举报
蓝雨星空 发表于 2014-5-13 08:12
第11行报错应该是端口被其他程序占用了,建议换其他端口

对,这个可能是有的,但是端口如果被占用会报java.net.BindException异常,:handshake
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马