Contact an ICE server with Java on a Linux server

bokangbokang ByongOh, KangOrganization: PersonalProject: proof of conceptMember

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

Tagged:

Best Answer

  • benoitbenoit Rennes, FranceBenoit FoucherOrganization: ZeroC, Inc.Project: Ice ZeroC Staff
    Accepted Answer

    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 set Ice.LogFile, I suppose you want the logging to go to a file in which case you shouldn't set Ice.UseSyslog (or set it to 0).

    Cheers,
    Benoit.

Answers

  • benoitbenoit Rennes, FranceBenoit FoucherOrganization: ZeroC, Inc.Project: IceAdministrators, ZeroC Staff ZeroC Staff
    Accepted Answer

    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 set Ice.LogFile, I suppose you want the logging to go to a file in which case you shouldn't set Ice.UseSyslog (or set it to 0).

    Cheers,
    Benoit.

Sign In or Register to comment.