diff --git a/lib/client.c b/lib/client.c index abcd16657..7a01a4ab6 100644 --- a/lib/client.c +++ b/lib/client.c @@ -116,8 +116,11 @@ int lws_client_socket_service(struct libwebsocket_context *context, struct libwe wsi->ssl = SSL_new(context->ssl_client_ctx); wsi->client_bio = BIO_new_socket(wsi->sock, BIO_NOCLOSE); + SSL_set_bio(wsi->ssl, wsi->client_bio, wsi->client_bio); + BIO_set_nbio(wsi->client_bio, 1); /* nonblocking */ + SSL_set_ex_data(wsi->ssl, openssl_websocket_private_data_index, context);