BIO_S_CONNECT(3ssl) OpenSSL BIO_S_CONNECT(3ssl) BIO_s_connect, BIO_new_connect, BIO_set_conn_hostname, BIO_set_conn_port, BIO_set_conn_address, BIO_set_conn_ip_family, BIO_get_conn_hostname, BIO_get_conn_port, BIO_get_conn_address, BIO_get_conn_ip_family, BIO_set_nbio, BIO_set_sock_type, BIO_get_sock_type, BIO_get0_dgram_bio, BIO_do_connect - BIO #include const BIO_METHOD *BIO_s_connect(void); BIO *BIO_new_connect(const char *name); long BIO_set_conn_hostname(BIO *b, char *name); long BIO_set_conn_port(BIO *b, char *port); long BIO_set_conn_address(BIO *b, BIO_ADDR *addr); long BIO_set_conn_ip_family(BIO *b, long family); const char *BIO_get_conn_hostname(BIO *b); const char *BIO_get_conn_port(BIO *b); const BIO_ADDR *BIO_get_conn_address(BIO *b); const long BIO_get_conn_ip_family(BIO *b); long BIO_set_nbio(BIO *b, long n); int BIO_set_sock_type(BIO *b, int sock_type); int BIO_get_sock_type(BIO *b); int BIO_get0_dgram_bio(BIO *B, BIO **dgram_bio); long BIO_do_connect(BIO *b); BIO_s_connect() BIO . TCP/IP . BIOs TCP/IP BIO . BIO. BIO / . ( ) . BIOs BIO_puts() BIO_gets(). BIO BIO. BIO_reset() BIO BIO . BIO_new_connect() BIO_new() BIO_set_conn_hostname() : BIO name. BIO_set_conn_hostname() name . IP IPv6 "[" "]". hostname:port BIO_parse_hostserv(3) BIO_set_conn_port() . BIO_set_conn_port() port. port "http" getservbyname(). BIO_set_conn_address() BIO_ADDR(3ssl). BIO_set_conn_ip_family() IP. BIO_get_conn_hostname() BIO NULL BIO . . BIO_get_conn_port() . . BIO_get_conn_address() BIO_ADDR. . BIO_get_conn_ip_family() IP BIO . BIO_set_nbio() / n. n / . n 1 / . / . BIO_set_nbio() / . BIO_do_connect() BIO . SSL/TLS BIO. BIOs SSL TCP. IP connect(). 1 . . BIO_should_retry() BIOs . . BIO_set_sock_type() socket(2). SOCK_STREAM () SOCK_DGRAM. SOCK_DGRAM UDP BIO_s_datagram(3). / BIO_read(3) BIO_write(3) BIO_s_datagram(3). BIO_s_datagram(3) BIO_get0_dgram_bio() BIO_s_datagram(3) *dgram_bio. BIO_s_datagram(3) BIO_s_connect() . BIO_get_sock_type() BIO_set_sock_type(). / / . BIO_set_conn_port(). . ':' . BIO_get_conn_hostname() BIO_get_conn_address() BIO_get_conn_port() . . BIO_do_connect() / . / . BIO_should_read() BIO_should_write() BIO_should_io_special() BIO_RR_CONNECT. . BIO_set_conn_hostname() BIO_set_conn_port() BIO_get_conn_hostname() BIO_set_conn_address() BIO_get_conn_port() BIO_get_conn_address() BIO_set_conn_ip_family() BIO_get_conn_ip_family() BIO_set_nbio() BIO_do_connect() . BIO_s_connect() BIO . BIO_set_conn_address() BIO_set_conn_port() BIO_set_conn_ip_family() 1 <=0 . BIO_set_conn_hostname() 1 <=0 . BIO_get_conn_address() NULL . BIO_get_conn_hostname() NULL . BIO_get_conn_ip_family() -1 . BIO_get_conn_port() NULL . BIO_set_nbio() 1 <=0 . BIO_do_connect() 1 <=0 . BIO_set_sock_type() 1 0 . BIO_get_sock_type() 0 . BIO_get0_dgram_bio() 1 0 . . BIO *cbio, *out; int len; char tmpbuf[1024]; cbio = BIO_new_connect("localhost:http"); out = BIO_new_fp(stdout, BIO_NOCLOSE); if (BIO_do_connect(cbio) <= 0) { fprintf(stderr, "Error connecting to server\n"); ERR_print_errors_fp(stderr); exit(1); } BIO_puts(cbio, "GET / HTTP/1.0\n\n"); for (;;) { len = BIO_read(cbio, tmpbuf, 1024); if (len <= 0) break; BIO_write(out, tmpbuf, len); } BIO_free(cbio); BIO_free(out); BIO_ADDR(3), BIO_parse_hostserv(3) BIO_set_conn_int_port(), BIO_get_conn_int_port(), BIO_set_conn_ip(), BIO_get_conn_ip() OpenSSL 1.1.0. BIO_set_conn_address() BIO_get_conn_address() . BIOs BIO_gets(), BIO_get0_dgram_bio(), BIO_get_sock_type(), BIO_set_sock_type() OpenSSL 3.2. 2000-2025 OpenSSL. . Apache 2.0 ( ""). . LICENSE . 3 . . : . 3.6.2 7 2026 BIO_S_CONNECT(3ssl)