Archived

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

publisher/Subscriber functionnalitywith IceE

Hi,
I'd like to make publisher/Subscriber functionnality with IceE. Is someone have any idea ?
Thanks

Comments

  • dwayne
    dwayne St. John's, Newfoundland
    If you mean using IceStorm with Ice-E, then yes this is possible. The IceStorm service itself will have to be the regular Ice version, but your publishers and subscribers can use Ice-E.

    You will need to compile the IceStorm slice from the regular Ice distribution yourself with the Ice-E slice compiler though as this is not done by default. Specifically you will have to comile IceStorm/IceStorm.ice and Ice/SliceChecksums.ice.
    slice2cppe -I<Ice install dir>/slice --ice <Ice install dir>/slice/IceStorm/IceStorm.ice
    slice2cppe --ice <Ice install dir>/slice/Ice/SliceChecksums.ice
    

    You will then have to build the generated files and either link them directly into your publisher/subscriber application or make then into a library that you link with your application.
  • SliceChecksums.ice is not found in slice directory but I have SliceChecksumDict.ice. I use Ice-3.3.1 version.
  • benoit
    benoit Rennes, France
    Hi,

    Yes, I think Dwayne meant SliceChecksumDict.ice here.

    Cheers,
    Benoit.
  • I try to build the generated files (using visual c++) but I have this error :
    1>IceStorm.cpp
    1>c:\ice-3.3.1\include\iceutil\config.h(112) : fatal error C1189: #error :  "Only multi-threaded DLL libraries can be used with Ice!"
    
    when I change the project property runtime library to" DLL de débogage multithread (/MDd)", I have a lot of error like :
    1>IceStorm.cpp
    1>c:\icee-1.3.0\pc\include\icee\config.h(154) : error C2011: 'IceUtil::noncopyable'*: redéfinition du type 'class'
    1>        c:\ice-3.3.1\include\iceutil\config.h(174)*: voir la déclaration de 'IceUtil::noncopyable'
    1>c:\icee-1.3.0\pc\include\icee\config.h(242) : error C2084: la fonction 'int getSystemErrno(void)' a déjà un corps
    1>        c:\ice-3.3.1\include\ice\config.h(69)*: voir la définition précédente de 'getSystemErrno'
    1>c:\icee-1.3.0\pc\include\icee\exceptionbase.h(19) : error C2011: 'IceUtil::Exception'*: redéfinition du type 'class'
    1>        c:\ice-3.3.1\include\iceutil\exception.h(20)*: voir la déclaration de 'IceUtil::Exception'
    
  • xdm
    xdm La Coruña, Spain
    Hi
    1>c:\icee-1.3.0\pc\include\icee\config.h(154) : error C2011: 'IceUtil::noncopyable'*: redéfinition du type 'class'
    1>        c:\ice-3.3.1\include\iceutil\config.h(174)*: voir la déclaration de 'IceUtil::noncopyable'
    

    You are seeing this error because your project include icee and ice include dirs, IceE projects must not include c:\Ice-3.3.1\include


    Bests Regards,
    José
  • Hi,
    thank you for your reply. My goal is to solve this problem with IceStorm :
    I have a file which is duplicated on several servers (PC). the users (use PDA) who are in the same area (limited by x and y) belong to the same group. A user could establish a connection on one of these servers and modify the contents of this file. The other users of the same group will be notified of this modification as well as the other servers.
    Thanks
  • Hi,
    I try to solve my problem. I create a topic for each group and the users belong within a group can exchange each other a message. I plan to use it for exchange between publisher (user who made change of the file) and subscriber (others users).
    What must I do for solve the rest of my problem (connection to one of the replica file servers, manipulate the file (made modification) and update others file servers) ? Someone have an idea ?
    Thanks
  • Hi,
    how to solve my problem if I'd like use IceGrid (for replica server file) with IceStorm ?
    Thanks