Contact an ICE server with Java on a Linux server

I am inquiring about running an ICE server implemented in Java.
When running in Windows with the same source and classpath, the server starts up without any problems.
Running on a Linux server will result in the following error:
I can not confirm the error, so I will contact you.
[Error Message]
Ice.SocketException
error = 0
at Ice.SysLoggerI.log(SysLoggerI.java:204)
at Ice.SysLoggerI.trace(SysLoggerI.java:149)
at IceInternal.IncomingConnectionFactory.createAcceptor(IncomingConnectionFactory.java:583)
at IceInternal.IncomingConnectionFactory.(IncomingConnectionFactory.java:406)
at Ice.ObjectAdapterI.(ObjectAdapterI.java:1040)
at IceInternal.ObjectAdapterFactory.createObjectAdapter(ObjectAdapterFactory.java:169)
at Ice.CommunicatorI.createObjectAdapterWithEndpoints(CommunicatorI.java:101)
at com.otid.server.OTIDServer.run(OTIDServer.java:126)
at com.otid.server.OTIDServer.main(OTIDServer.java:58)
Caused by: java.net.PortUnreachableException: ICMP Port Unreachable
at java.net.PlainDatagramSocketImpl.send(Native Method)
at java.net.DatagramSocket.send(DatagramSocket.java:697)
at Ice.SysLoggerI.log(SysLoggerI.java:200)
... 8 more
[Env Info]
OS : CentOS6.8
JDK : 1.7
ICE Version : 3.6.3
[Execution Commands]
java -cp .:ice-3.6.3.jar com.otid.server.OTIDServer
Best Answer
-
benoit Rennes, FranceAdministrators, ZeroC Staff Benoit FoucherOrganization: ZeroC, Inc.Project: Ice ZeroC Staff
Hi,
You've enabled the syslog logger but your Linux syslog daemon doesn't accept remote connections. You should either disable this logger (by setting
Ice.UseSyslog=0
) or change the syslog daemon configuration to accept connections. Since you also setIce.LogFile
, I suppose you want the logging to go to a file in which case you shouldn't setIce.UseSyslog
(or set it to 0).Cheers,
Benoit.0
Answers
Hi,
You've enabled the syslog logger but your Linux syslog daemon doesn't accept remote connections. You should either disable this logger (by setting
Ice.UseSyslog=0
) or change the syslog daemon configuration to accept connections. Since you also setIce.LogFile
, I suppose you want the logging to go to a file in which case you shouldn't setIce.UseSyslog
(or set it to 0).Cheers,
Benoit.