bio_do_connect()返回-1

我正在尝试编写如下图所示的服务器/客户端应用程序。 在此处输入图像描述

issueTicket.cgi是一个用C编写的可执行文件。我的同事设置了apache并编写了issueTicket.cgi,我可以通过输入http:// [ubuntuIP] /cgi-bin/SEC_IssueTicket.cgi来访问issueTicket.cgi我的浏览器。

问题出在客户方面。 我必须使用Openssl在Windows上编写一个askTicket.exe,并且BIO_do_connect()始终返回-1。 以下是我的代码。

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 

任何人都可以告诉我的问题在哪里?