ICE 异常Address family not supported by protocol family

 今天编写好ICE的一个实例,一个很简单的Hello World例子,在myeclipse中运行的时候,出现了一个异常,异常信息如下:

Ice.SocketException

    error = 0

at IceInternal.Network.doBind(Network.java:249)

at IceInternal.TcpAcceptor.<init>(TcpAcceptor.java:119)

at IceInternal.TcpEndpointI.acceptor(TcpEndpointI.java:415)

at IceInternal.IncomingConnectionFactory.<init>(IncomingConnectionFactory.java:378)

at Ice.ObjectAdapterI.<init>(ObjectAdapterI.java:1028)

at IceInternal.ObjectAdapterFactory.createObjectAdapter(ObjectAdapterFactory.java:160)

at Ice.CommunicatorI.createObjectAdapterWithEndpoints(CommunicatorI.java:89)

at demo.server.Server.main(Server.java:13)

Caused by: java.net.SocketException: Address family not supported by protocol family: bind

at sun.nio.ch.Net.bind(Native Method)

at sun.nio.ch.ServerSocketChannelImpl.bind(Unknown Source)

at sun.nio.ch.ServerSocketAdaptor.bind(Unknown Source)

at IceInternal.Network.doBind(Network.java:243)

... 7 more

以前环境是没有问题的,只是最近重新安装了系统,重新运行实例就出现这样的情况,在网上也没有找到合适的答案,

异常中提示在这行除了问题,

Ice.ObjectAdapter adapter

 = ic.createObjectAdapterWithEndpoints(

"SimplePrinterAdapter", 

                  "default -p 10000"

                   );

使用一个指定的端点创建适配器的时候,报出异常,既然是绑定的问题,是不是绑定的信息不全导致的。

然后直接在端口前面加上了IP信息,改写如下:

Ice.ObjectAdapter adapter

 = ic.createObjectAdapterWithEndpoints(

"SimplePrinterAdapter"

                  "default -h 127.0.0.1 -p 10000");


    再运行就没有什么问题了,没弄明白是怎么回事。



上面是引用的其他地方的解决办法。客户端在本机,服务器在虚拟机,发现如上修改后无法正常通信,于是把服务器的default -h 127.0.0.1 -p 10000 修改为  default -h 192.168.133.133 -p 10000 就可以正常通信了。 其中 192.168.133.133是本机的IP地址。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值