找回密码
 用户注册

QQ登录

只需一步,快速开始

查看: 5259|回复: 2

如何通过同一个端口建立与多个sever的连接

[复制链接]
发表于 2008-5-11 17:26:27 | 显示全部楼层 |阅读模式
通过ace的connector建立与多个server的连接,如何保证非阻塞?
从他的论文集看到段代码,不知道怎么用?而且对于PEER_CONNECTOR,和HANDLE属于那个头文件?
template <class SERVICE_HANDLER,class PEER_CONNECTOR>
class AsyConnector:public Event_Handler
{
public:
AsyConnector(void);
~AsyConnector(void);
    enum Connect_Mode
    {
        SYNC, //以同步方式连接
        ASYNC //以异步方式连接
    };
// 主动连接并激活服务处理器
    int connect (SERVICE_HANDLER *sh,
        const PEER_CONNECTOR::PEER_ADDR &addr,
        Connect_Mode mode);
protected:
    //定义连接激活策略
    virtual int connect_service_handler(SERVICE_HANDLER *sh,
        const PEER_CONNECTOR::PEER_ADDR &addr,
        Connect_Mode mode);
    // Defines the handler's concurrency strategy.
    virtual int activate_service_handler(SERVICE_HANDLER *sh);
    // 当以异步方式连接完成时激活服务处理器
    virtual int complete (HANDLE handle);
//以下方法不是必须
int register_handler(SERVICE_HANDLER* sh,Connect_Mode mode);
private:
    // IPC mechanism that establishes
    // connections actively.
    PEER_CONNECTOR connector_;
Map_Manager<HANDLE, SERVICE_HANDLER *> handler_map_;
virtual int handle_event(HANDLE handle,EVENT_TYPE type);
};
这里先谢过
 楼主| 发表于 2008-5-11 17:26:35 | 显示全部楼层
这里是不是意思通过一个connector发起多个连接,每个连接对应一个handler?
 楼主| 发表于 2008-5-11 17:26:48 | 显示全部楼层
connect可以设置参数,让他不阻塞啊。
您需要登录后才可以回帖 登录 | 用户注册

本版积分规则

Archiver|手机版|小黑屋|ACE Developer ( 京ICP备06055248号 )

GMT+8, 2024-12-22 17:22 , Processed in 0.036093 second(s), 5 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表