bio_do_connect () restituisce -1

Sto provando a programmare un’applicazione server / client come nella figura seguente. inserisci la descrizione dell'immagine qui

Il problemaTicket.cgi è un file eseguibile scritto in C. Il mio collega ha impostato l’apache e ha programmato il problemaTicket.cgi, e posso accedere a issueTicket.cgi digitando http: // [ubuntuIP] /cgi-bin/SEC_IssueTicket.cgi in il mio browser

Il problema sta nel lato client. Devo programmare askTicket.exe su Windows usando Openssl e BIO_do_connect () restituisce sempre -1. Quello che segue è il mio codice.

SSL_load_error_strings(); ERR_load_BIO_strings(); SSL_library_init(); /* Return value is always 1 */ OpenSSL_add_all_algorithms(); ... *sslCtx = SSL_CTX_new(TLSv1_1_client_method()); sslRet = SSL_CTX_load_verify_locations(*sslCtx, (const char *)certpath, NULL); *sbio = BIO_new_ssl_connect(*sslCtx); BIO_set_conn_hostname(*sbio, "[ubuntuIP]:80/cgi-bin/issueTicket.cgi"); BIO_set_nbio(*sbio, 1); BIO_get_ssl(*sbio, &ssl); SSL_set_mode(ssl, SSL_MODE_AUTO_RETRY); BIO_do_connect(*sbio) // always return -1 

Qualcuno può dire dov’è il mio problema?