Archived

This forum has been archived. Please start a new discussion on GitHub.

Newbie help needed - Ice server + IceStorm Publisher

Hello,

I am working on an application that most likely will act as an Ice server as well as an IceStorm publisher. I have been able to get the functionality to work separately, but when I attempt to launch the Ice server with the IceStorm server already running I get a socket exception (WSAADDRINUSE), even after modification of the IceStorm port number in the config file.

This is also the case with the demo applications ('Hello' demo for Ice and 'Clock' demo for IceStorm). I changed the port in the IceStorm 'clock' demo config file from 10000 to 9998 in hopes that would correct the issue, but I still get the socket exception when trying to launch the IceStorm server if the 'Hello' server is already running.

Thanks in advance for your help.

Comments

  • matthew
    matthew NL, Canada
    Are you sure the servers are using the ports you think they are? Start the servers with --Ice.Trace.Network=1 to find out what ports they are really using.
  • You're right - when I enable tracing I do see port 10000 still being used by the IceStorm server upon startup:

    C:\ICE-30~1.1\demopy\IceStorm\clock>icebox --Ice.Config=config_service
    [ icebox: Network: accepting tcp connections at 172.18.22.19:9998 ]
    [ icebox: Network: accepting tcp connections at 127.0.0.1:9998 ]
    [ icebox-IceStorm: Network: accepting tcp connections at 172.18.22.19:10000 ]
    [ icebox-IceStorm: Network: accepting tcp connections at 127.0.0.1:10000 ]
    [ icebox-IceStorm: Network: accepting tcp connections at 172.18.22.19:4306 ]
    [ icebox-IceStorm: Network: accepting tcp connections at 127.0.0.1:4307 ]

    I have port 9998 set on all of the config file properties - am I missing a setting that is going to default?

    Clock.Subscriber.Endpoints=tcp -p9998
    IceStorm.TopicManager.Proxy=DemoIceStorm/TopicManager:default -p 9998
    IceStorm.TopicManager.Endpoints=default -p 9998
    IceStorm.Publish.Endpoints=default -p9998
  • matthew
    matthew NL, Canada
    Looks like you are missing a space. It should be -p 9998.
  • As it turns out, I had more problems than just the space. I had saved the config file under a new name and neglected to change the call to it in the config_service file. I can now launch both apps simultaneously so thank you very much for your help.

    I changed the endpoints for subscriber and publisher back to default and this still works with no problems. As long as the topic manager port is different from the Ice server endpoints it seems to work OK. How are the subscriber/publisher endpoints used?
  • matthew
    matthew NL, Canada
    There is no subscriber endpoint. The publisher endpoints are used by the publishers to send events to subscribers indirectly through IceStorm.