黑马程序员技术交流社区

标题: 网络编程求异常解释 [打印本页]

作者: 周四川    时间: 2012-4-17 15:54
标题: 网络编程求异常解释
  1. /*
  2.         演示客户端和服务端

  3.         1、客户端:浏览器
  4.                 服务端:自定义
  5. */
  6. import java.net.*;
  7. import java.io.*;
  8. class  ServerDemo
  9. {
  10.         public static void main(String[] args) throws Exception
  11.         {
  12.                 ServerSocket ss=new ServerSocket(10086);
  13.                 Socket s=ss.accept();
  14.                 String ip=s.getInetAddress().getHostAddress();
  15.                 System.out.println(ip);
  16.                 PrintWriter out=new PrintWriter(s.getOutputStream(),true);
  17.                 out.println("<font color='pink' size='7'>你好<span style='color:red'>"+ip+"</span>,欢迎登录!</font>");
  18.                 s.close();
  19.                 ss.close();
  20.         }
  21. }
复制代码
F:\自学练习>javac ServerDemo.java

F:\自学练习>java ServerDemo
Exception in thread "main" java.net.SocketException: Unrecognized Windows Socket
s error: 0: JVM_Bind
        at java.net.PlainSocketImpl.socketBind(Native Method)
        at java.net.PlainSocketImpl.bind(Unknown Source)
        at java.net.ServerSocket.bind(Unknown Source)
        at java.net.ServerSocket.<init>(Unknown Source)
        at java.net.ServerSocket.<init>(Unknown Source)
        at ServerDemo.main(ServerDemo.java:13)
作者: 伊文龙    时间: 2012-4-17 16:49
程序没有问题,应该是你的10086端口被占用了。

可以使用netsh winsock reset 重置winsock。然后重启就可以了。这个法很笨。

不过网上应该有查看端口情况的软件,下载一个,找到占用端口的程序,然后任务管理器干掉它就可以了。
作者: 周四川    时间: 2012-4-20 12:32
伊文龙 发表于 2012-4-17 16:49
程序没有问题,应该是你的10086端口被占用了。

可以使用netsh winsock reset 重置winsock。然后重启就可以 ...

thank you  我找到了原因了  端口号的问题   :L




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