如题,谁知道怎么做。

解决方案 »

  1.   

    多个ip你出去的ip应该是一个吧。就是你的对外ip。 
      

  2.   

    如果本机是多个IP,则调用其他机器的服务和本机无关,这是一个路由问题,只要网络是通的,直接写服务器的IP即可,TCP底层会解决怎样走的问题。
    如果服务器是多个IP,则一般调用服务器和本机相同子网段的IP或者网管提供的可以走通的IP地址。
      

  3.   

    Socket(InetAddress address, int port, InetAddress localAddr, int localPort) 
    第二个InetAddress就是你想指定的IP了,这样获取InetAddress.getByName ("192.168.3.4")
      

  4.   


    补充,本机多个IP的情况下,需要特别注意缺省网关的配置,如果缺省网关配置错误,就可能造成服务器不可达。LZ可以咨询一下你们网管了解相关信息。总之,这还是一个路由问题。
      

  5.   

    服务一般绑定到端口,,,有多个ip都是可以访问的。
    你得清楚webservice的机器处在什么样的网络环境。
      

  6.   

    如果是在内网的一机器,通过一个ip出去的话可以把内网的一台机子ip做一个ip地址映射,然后用这台机子调用webserver就可以了。地址映射的ip端口不同,远程的webserver可以根据端口判断或验证即可。
      

  7.   


    ip地址映射怎么做?
    webservice只认一个IP地址,如果是其他的IP地址会忽略掉,所以是不能在webservice服务端来做判断的,
    webservice调用者必须以webservice提供者识别的ip身份调用服务。
      

  8.   

    改路由表~~~~
    指定目的地址用哪个interface
      

  9.   


    现在不是定位webservice服务器的IP,是调用webservice服务的客户端需要指定固定的IP,而作为客户端的那台机器有多个IP,webservice服务器只识别一个IP,所以客户端必须在调用webservice服务的时候指定服务端识别的那个IP。
      

  10.   

    if( 只有一个IP和服务相通 ) // 比如一个联内网,一个联外网
        则直接调服务就可。能够到达服务器的IP必定是那个IP
    else (多个IP和服务器相通 )
    {
         方法1:
             只留服务器识别的IP工作。
         方法2:
             使用socket的原始套接字,直接修改IP包的源IP地址(实际上是一种欺骗服务器的行为哦!!)。
             但不幸的是Java不能提供raw socket访问功能。因此还需要C/C++帮忙,顺便搭上个JNI接口。
    }
      

  11.   


    业务上的需要,也就是说服务端webservice服务不是谁都可以调用的。
      

  12.   


    webservice服务封装了socket的底层操作,我怎么控制socket呢,能控制的话直接就用socket控制了。
      

  13.   

    ip映射,会把内网中的一个ip:端口  对应到 外网的一个固定的 Ip:端口例如:内网 : 192.168.1.23:8888 映射外网ip为: 202.69.128.125:9999这样远程的webservice权限ip只要判断 ip为202.69.128.125 和 端口为9999 即可。内网具体那台机器他不管。只要知道这个ip加端口就通过即可。
    不知道lz问题的环境是不是这样的
      

  14.   

    没弄清楚楼主是啥意思,楼主的意思是客户端有几块网卡,网关不同?(webservice)服务器一个IP ?首先,楼主得保证客户端能够ping的通服务器端,只要能ping的通就行了!
      

  15.   


    (1)能够修改Webservice的代码?增加新的IP限制不就行了?或者干脆修改成一个IP列表,这样需要放IP进去就很方便了。
    (2)能不能用socket控制(或者某些提供的函数接口),具体要看LZ的应用开发环境。可能存在第三方api提供了这种能力。前面只是说Java提供的标准socket控制是没有raw socket的访问能力的。
      

  16.   


    客户端有4个IP地址,172.16.10.1-172.16.10.4,客户端调用服务端的webservice服务的时候,必须是以172.16.10.3的IP地址才能调用到服务,也就是说其他IP地址调用服务端的webservice服务的时候服务端会认为是非法请求,所以客户端必须以172.16.10.3的身份调用服务端的webservice服务。
      

  17.   

    1)能够修改Webservice的代码?增加新的IP限制不就行了?或者干脆修改成一个IP列表,这样需要放IP进去就很方便了。服务端给我的只是wsdl文件,然后编译生成了一些辅助类和接口,我只能远程调用服务端的方法,根本操作不了socket,要求服务端修改webservice服务是不现实的,估计只能从网络方面设置了。
      

  18.   


    还是改路由表最简单
    ding!!!!引用
      

  19.   

    如果是客户端部分,能否在初始化soap时,指定soap中本机的地址,这样后续让客户端通信就使用这个IP地址来进行?