亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費(fèi)注冊(cè) 查看新帖 |

Chinaunix

  平臺(tái) 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 1874 | 回復(fù): 0
打印 上一主題 下一主題

vnc調(diào)試------之反向連接(2) [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2011-12-22 08:51 |只看該作者 |倒序?yàn)g覽
接上一篇文章,下面的代碼是處理版本信息的。
BOOL
vncClientThread::InitVersion()
{
    rfbProtocolVersionMsg protocol_ver;
    protocol_ver[12] = 0;
    if (strcmp(m_client->ProtocolVersionMsg,"0.0.0.0")==NULL)
    {
        // Generate the server's protocol version
        rfbProtocolVersionMsg protocolMsg;
        if (SPECIAL_SC_PROMPT)
        {
            //This break rfb protocol, SC in ultravnc only  rfb 3.14/16
            sprintf((char *)protocolMsg,
                    rfbProtocolVersionFormat,
                    rfbProtocolMajorVersion,
                    rfbProtocolMinorVersion +10+ (m_server->MSLogonRequired() ? 0 : 2));
        }
        else
        {
            sprintf((char *)protocolMsg,
                    rfbProtocolVersionFormat,
                    rfbProtocolMajorVersion,
                    rfbProtocolMinorVersion + (m_server->MSLogonRequired() ? 0 : 2)); // 4: mslogon+FT,
                                                                                  // 6: VNClogon+FT
        }
        // Send the protocol message
        //m_socket->SetTimeout(0); // sf@2006 - Trying to fix neverending authentication bug - Not sure it's a good idea...
        //adzm 2009-06-20 - if SC, wait for a connection, rather than timeout too quickly.
        if (SPECIAL_SC_PROMPT) {
            //adzm 2009-06-20 - TODO - perhaps this should only occur if we can determine we are using a repeater?
            m_socket->SetTimeout(0);
        }

        if (!m_socket->SendExact((char *)&protocolMsg, sz_rfbProtocolVersionMsg))
            return FALSE;

        // Now, get the client's protocol version
        if (!m_socket->ReadExact((char *)&protocol_ver, sz_rfbProtocolVersionMsg))
            return FALSE;
    }
    else
        memcpy(protocol_ver,m_client->ProtocolVersionMsg, sz_rfbProtocolVersionMsg);

    // sf@2006 - Trying to fix neverending authentication bug - Check if this is RFB protocole
    if (strncmp(protocol_ver,"RFB", 3)!=NULL)
        return FALSE;

    // Check viewer's the protocol version
    int major, minor;
    sscanf((char *)&protocol_ver, rfbProtocolVersionFormat, &major, &minor);
    if (major != rfbProtocolMajorVersion)
        return FALSE;

    // TODO: Maybe change this UltraVNC specific minor value because
    // TightVNC viewer uses minor = 5 ...
    // For now:
    // UltraViewer always sends minor = 4 (sf@2005: or 6, as it returns the minor version received from the server)
    // UltraServer sends minor = 4 or minor = 6
    // m_ms_logon = false; // For all non-UltraVNC logon compatible viewers
    m_ms_logon = m_server->MSLogonRequired();
    vnclog.Print(LL_INTINFO, VNCLOG("m_ms_logon set to %s"), m_ms_logon ? "true" : "false");
    //SC
    if (minor == 4 || minor == 6) m_client->SetUltraViewer(true);
    else if ((minor ==14 || minor ==16)&& SPECIAL_SC_PROMPT)
    {
        m_client->SetUltraViewer(true);
        char mytext[1024];
        getinfo(mytext);
        int size=strlen(mytext);
        if (!m_socket->SendExact((char *)&size, sizeof(int)))
        return FALSE;
        if (!m_socket->SendExact((char *)mytext, size))
        return FALSE;
        int nummer;
        if (!m_socket->ReadExact((char *)&nummer, sizeof(int)))
        {
            return FALSE;
        }
        if (nummer==0) return FALSE;
    }
    else m_client->SetUltraViewer(false); // sf@2005 - Fix Open TextChat from server bug
    return TRUE;
}
您需要登錄后才可以回帖 登錄 | 注冊(cè)

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號(hào)-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號(hào):11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報(bào)專區(qū)
中國互聯(lián)網(wǎng)協(xié)會(huì)會(huì)員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請(qǐng)注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP