用ServerSocket作一个服务
ServerSocket ss = new ServerSocket(9001);
 for(;;){
   Socket   s = ss.accept();
   ... ...
 }
请问:有没有方法限制连接到这个服务的IP的地址?(例如:限制只有192.168.0.11才能连接到这个服务)

解决方案 »

  1.   

    socket = ss.accept(); 
    String RemoteIP = socket.getInetAddress().getHostAddress(); 
    String RemotePort = ":"+socket.getLocalPort(); 
    System.out.println("A client come in!IP:"+RemoteIP+RemotePort); 判断 RemoteIP 即可
      

  2.   

    在socket = ss.accept();后直接 socket.getInetAddress().getHostAddress();不就能判断ip了嘛!
      

  3.   

    友情up......
    //---------------送个笑话----------------
     
    有一个农夫觉得自己家的公鸡太老了,决定买一只年轻的公鸡来,这样可以让母鸡们都满意。小公鸡买来后,老公鸡认为小公鸡会取代自己的地位,就对小公鸡说:“这样吧,咱们围着院子跑十圈,谁跑赢了,就证明谁身强力壮,母鸡们就归谁。”小公鸡同意了。一开始,老公鸡一马当先冲了出去,小公鸡在后面紧紧追赶。母鸡们都在喊加油。三、四圈一过,老公鸡力气不支,小公鸡逐渐赶上。眼看就要超过老公鸡了,忽听砰一声枪响,小公鸡一头栽倒在地。农夫手里拿着一杆枪,气愤地说:
    “他们又卖给我一只同性恋的鸡!”www.xiaohua007.com
      

  4.   

    有二种方法,一是服务本身来查: socket.getInetAddress().getHostAddress()另是用防火墙来控制
      

  5.   

    bygones2001(没辙了),zgysc(翠湖寒) ,你们说的方法我也想过,
    我的本意就是想知道有没有在启动ServerSocket的时候有没有更好的办法(因为现在这个服务不稳定,总是运行一段时间后崩溃,我希望从资源这方面找找原因,毕竟,接收连接以后还是会分配一定的资源的)
    yown(yong),看来如果ServerSocket本身没有更好的方法的情况下,只能用这几种方法了先谢谢大家的恢复了
      

  6.   

    目前我觉得只能连接以后判断IP的方法,否则没有连接,怎么知道IP是多少呢