コード例 #1
0
ファイル: sslsocket.cpp プロジェクト: zackxue/libsourcey
void SSLSocket::onConnect(uv_connect_t* handle, int status)
{
    TraceS(this) << "On connect" << endl;
    if (status) {
        setUVError("SSL connect error", status);
        return;
    }
    else
        readStart();

    SSL* ssl = SSL_new(_context->sslContext());

    // TODO: Automatic SSL session handling.
    // Maybe add a stored session to the network manager.
    if (_session)
        SSL_set_session(ssl, _session->sslSession());

    SSL_set_connect_state(ssl);
    SSL_do_handshake(ssl);

    _sslAdapter.init(ssl);
    _sslAdapter.flush();

    //emitConnect();
    onSocketConnect();
    TraceS(this) << "On connect: OK" << endl;
}
コード例 #2
0
void UDPSocket::connect(const Address& peerAddress) 
{
    _peer = peerAddress;

    // Send the Connected signal to mimic TCP behaviour  
    // since socket implementations are interchangable.
    //emitConnect();
    onSocketConnect();
}
コード例 #3
0
ファイル: tcpsocket.cpp プロジェクト: runt18/libsourcey
void TCPSocket::onConnect(uv_connect_t* handle, int status)
{
    TraceLS(this) << "On connect" << endl;
    
    // Error handled by static callback proxy
    if (status == 0) {
        if (readStart())
            onSocketConnect();
    }
    else {
        setUVError("Connection failed", status);    
        //ErrorLS(this) << "Connection failed: " << error().message << endl;
    }
    delete handle;
}