首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >双向IPC的RCF

双向IPC的RCF
EN

Stack Overflow用户
提问于 2010-02-05 23:56:54
回答 1查看 968关注 0票数 0

我在一个项目中使用RCF进行进程间通信。在RCF中有创建双向通道的方法吗?我将在两个进程中都运行服务器和客户端。我用Win32NamedPipes实现了一种通信方式,这里是服务器

代码语言:javascript
复制
int main()
{
    MyServiceImpl myServiceImpl;
    RCF::RcfServer server;//(RCF::TcpEndpoint("0.0.0.0", 50001));
    server.addServerTransport(boost::shared_ptr<RCF::I_ServerTransport>(new RCF::Win32NamedPipeServerTransport(("rcfchannel"))));
    server.bind<MyService>(myServiceImpl);
    server.bind<MyService>(myServiceImpl);
    server.start();
    server.waitForStopEvent();

    return 0;
}

其中MyService是它正在实现的服务

Client.cpp

代码语言:javascript
复制
int main()
{
    try
    {
        std::vector<std::string> v;
        v.push_back("one");
        v.push_back("two");
        v.push_back("three");

        std::cout << "Before:\n";
        std::copy(
            v.begin(), 
            v.end(), 
            std::ostream_iterator<std::string>(std::cout, "\n"));

        RcfClient<MyService>* m_service = new  RcfClient<MyService>(RCF::Win32NamedPipeEndpoint("rcfchannel"));
        m_service->reverse(v);
        std::cout << "\nAfter:\n";
        std::copy(
            v.begin(), 
            v.end(), 
            std::ostream_iterator<std::string>(std::cout, "\n"));
    }
    catch(const std::exception &e)
    {
        std::cout << "Caught exception:\n";
        std::cout << "Type: " << typeid(e).name() << "\n";
        std::cout << "What: " << e.what() << "\n";
    }

    return 0;
}

假设我有另一个服务"ClientService“在客户端运行。有没有办法把这个服务器转换成客户端?我在RCF中发现了一些convertRCFClienttoSession函数。我没有找到任何这样的例子。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-02-06 00:33:38

this有帮助吗?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2208433

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档