当前位置: 首页>>代码示例>>C++>>正文


C++ Network::connectTo方法代码示例

本文整理汇总了C++中Network::connectTo方法的典型用法代码示例。如果您正苦于以下问题:C++ Network::connectTo方法的具体用法?C++ Network::connectTo怎么用?C++ Network::connectTo使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Network的用法示例。


在下文中一共展示了Network::connectTo方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: tryConnect

// ----------------------------------------------------------------------------
bool ConnectToServer::tryConnect(int timeout, int retry, bool another_port)
{
    m_retry_count = retry;
    ENetEvent event;
    ENetAddress ea;
    ea.host = STKHost::HOST_ANY;
    ea.port = STKHost::PORT_ANY;
    Network* nw = another_port ? new Network(/*peer_count*/1,
        /*channel_limit*/EVENT_CHANNEL_COUNT,
        /*max_in_bandwidth*/0, /*max_out_bandwidth*/0, &ea,
        true/*change_port_if_bound*/) : STKHost::get()->getNetwork();
    assert(nw);

    m_done_intecept = false;
    nw->getENetHost()->intercept = ConnectToServer::interceptCallback;
    while (--m_retry_count >= 0 && !ProtocolManager::lock()->isExiting())
    {
        ENetPeer* p = nw->connectTo(m_server_address);
        if (!p)
            break;
        Log::info("ConnectToServer", "Trying connecting to %s from port %d, "
            "retry remain: %d", m_server_address.toString().c_str(),
            nw->getENetHost()->address.port, m_retry_count);
        while (enet_host_service(nw->getENetHost(), &event, timeout) != 0)
        {
            if (event.type == ENET_EVENT_TYPE_CONNECT)
            {
                Log::info("ConnectToServer", "Connected to %s",
                    m_server_address.toString().c_str());
                nw->getENetHost()->intercept = NULL;
                STKHost::get()->initClientNetwork(event, nw);
                m_state = DONE;
                return true;
            }
        }
        // Reset old peer in case server address differs due to intercept
        enet_peer_reset(p);
    }
    if (another_port)
        delete nw;
    return false;
}   // tryConnect
开发者ID:qwertychouskie,项目名称:stk-code,代码行数:43,代码来源:connect_to_server.cpp


注:本文中的Network::connectTo方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。