You're Invited:Meet the Socket Team at BlackHat and DEF CON in Las Vegas, Aug 4-6.RSVP
Socket
Book a DemoInstallSign in
Socket

zeroc.ice.v120

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

zeroc.ice.v120

Ice C++ SDK for Visual Studio 2013 (v120). The Ice framework provides everything you need to build networked applications, including RPC, pub/sub, server deployment, and more.

3.7.10
Source
nugetNuGet
Version published
Maintainers
1
Created
Source

Ice for C++

Getting started C++11 | Examples C++11 | Getting started C++98 | Examples C++98 | NuGet packages | Documentation | Building from source

The Ice framework provides everything you need to build networked applications, including RPC, pub/sub, server deployment, and more.

Ice for C++ is the C++ implementation of Ice.

Sample Code with the Ice C++11 Mapping

// Slice definitions (Hello.ice)

#pragma once

module Demo
{
    interface Hello
    {
        void sayHello();
    }
}
// Client application (Client.cpp)

#include <Ice/Ice.h>
#include <Hello.h>

using namespace std;
using namespace Demo;

int
main(int argc, char* argv[])
{
    try
    {
        const Ice::CommunicatorHolder ich(argc, argv);
        auto hello = Ice::checkedCast<HelloPrx>(ich->stringToProxy("hello:default -h localhost -p 10000"));
        hello->sayHello();
    }
    catch(const std::exception& ex)
    {
        cerr << ex.what() << endl;
        return 1;
    }
    return 0;
}
// Server application (Server.cpp)

#include <Ice/Ice.h>
#include <Printer.h>

using namespace std;

int main(int argc, char* argv[])
{
    try
    {
        // CtrlCHandler must be created before the communicator or any other threads
        // are started
        Ice::CtrlCHandler ctrlCHandler;

        const Ice::CommunicatorHolder ich(argc, argv);
        const auto& communicator = ich.communicator();

        ctrlCHandler.setCallback(
            [communicator](int)
            {
                communicator->shutdown();
            });

        auto adapter = communicator->createObjectAdapterWithEndpoints(
            "Hello",
            "default -h localhost -p 10000");
        adapter->add(make_shared<HelloI>(), Ice::stringToIdentity("hello"));
        adapter->activate();
        communicator->waitForShutdown();
    }
    catch(const std::exception& ex)
    {
        cerr << ex.what() << endl;
        return 1;
    }
    return 0;
}
// Printer implementation (Printer.h)

#include <Ice/Ice.h>
#include <Hello.h>

class Printer : public Demo::Hello
{
public:
    /**
     * Prints a message to the standard output.
     **/
    virtual void sayHello(const Ice::Current&) override
    {
        std::cout << "Hello World!" << std::endl;
    }
}

Sample Code with the Ice C++98 Mapping

// Slice definitions (Hello.ice)

#pragma once

module Demo
{
    interface Hello
    {
        void sayHello();
    }
}
// Client application (Client.cpp)

#include <Ice/Ice.h>
#include <Hello.h>

using namespace std;
using namespace Demo;

int main(int argc, char* argv[])
{
    try
    {
        Ice::CommunicatorHolder ich(argc, argv);
        HelloPrx hello = HelloPrx::checkedCast(
            ich->stringToProxy("hello:default -h localhost -p 10000"));
        hello->sayHello();
    }
    catch(const std::exception& ex)
    {
        cerr << ex.what() << endl;
        return 1;
    }
    return 0;
}
// Server application (Server.cpp)

#include <Ice/Ice.h>
#include <HelloI.h>

using namespace std;

int main(int argc, char* argv[])
{
    try
    {
        Ice::CommunicatorHolder ich(argc, argv);
        Ice::ObjectAdapterPtr adapter = ich->createObjectAdapterWithEndpoints(
            "Hello",
            "default -h localhost -p 10000");
        adapter->add(new HelloI, Ice::stringToIdentity("hello"));
        adapter->activate();
        ich->waitForShutdown();
    }
    catch(const std::exception& ex)
    {
        cerr << ex.what() << endl;
        return 1;
    }
    return 0;
}
// Printer implementation (Printer.h)

#include <Ice/Ice.h>
#include <Hello.h>

class Printer : public Demo::Hello
{
public:
    /**
     * Prints a message to the standard output.
     **/
    virtual void sayHello(const Ice::Current&)
    {
        std::cout << "Hello World!" << std::endl;
    }
}

Keywords

ice

FAQs

Package last updated on 06 Nov 2023

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts