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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 周四川 中级黑马   /  2012-4-17 15:54  /  1733 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  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)

2 个回复

倒序浏览
程序没有问题,应该是你的10086端口被占用了。

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

不过网上应该有查看端口情况的软件,下载一个,找到占用端口的程序,然后任务管理器干掉它就可以了。
回复 使用道具 举报
伊文龙 发表于 2012-4-17 16:49
程序没有问题,应该是你的10086端口被占用了。

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

thank you  我找到了原因了  端口号的问题   :L
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马