Archived

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

Backward compatability between ICE 3.2.1 and ICE 3.4.2

Hi,

I'm working on an urgent project involving distributed control of robotic components. I read about ICE few days
ago and decided to use it. On some robot, due to customized Linux kernel and compilers I could only install ICE 3.2.1 on the robot's machine.

My question is: can a client compiled with ICE 3.2.1 communicates with a server compiled with ICE 3.4.2 and supports a session and push mechanisms.

I'd really appreciated a prompt response.

Regards,

Michael

Comments

  • mes
    mes California
    Hi Michael,

    Welcome to the forum.

    Yes, an Ice 3.2 program can communicate with an Ice 3.4 program. The Ice protocol has remained unchanged since the earliest releases, so it is fully backward compatible.

    Regards,
    Mark
  • Hi,

    Thanks for the prompt response. I also have other concerns regarding development. When I tried the chat-demo (designed for v3.4.1) I couldn't even compile it using v3.3.1, so apparently the APIs differ much from version to another.

    Does this mean that I'll have to be careful to develop the client components using the older API and the server using the newer APIs, or is there a way to develop the entire application using one version and when it comes to deployment I just compile parts of it using different versions.
  • mes
    mes California
    Hi,

    Yes, we did make some significant changes to the APIs between 3.2 and 3.3.

    I recommend that you start out assuming that the only thing you can share between the client and server are the Slice definitions. Use the 3.2.1 Slice compiler to generate code for the client, and the 3.4.2 Slice compiler to generate code for the server.

    You could try to limit yourself to using the 3.2.1 APIs in both the client and the server, but you'll be missing out on a lot of useful new features that we've added in the four years since 3.2.1 was released. You couldn't use them in your client, but you might want to use them in your server.

    Regards,
    Mark
  • Hi Mark,

    Thank you for the clarification. It was helpful. I'll start working right away.

    Regards,

    Michael
  • Real-time support

    Hi,

    I checked the chat-room demo and I find it a really good starting point for my project. I'm wondering if there is real-time support within ICE, if there are some facilities to enable meeting real-time constraints.

    Regards,
    Michael