Lines Matching +full:multi +full:- +full:socket

1 .\" -*- mode: troff; coding: utf-8 -*-
57 .IX Title "OSSL-GUIDE-QUIC-CLIENT-BLOCK 7ossl"
58 .TH OSSL-GUIDE-QUIC-CLIENT-BLOCK 7ossl 2025-09-30 3.5.4 OpenSSL
64 ossl\-guide\-quic\-client\-block
65 \&\- OpenSSL Guide: Writing a simple blocking QUIC client
71 QUIC is non-standard and will not be supported by real world servers. This is
76 (see \fBossl\-guide\-libraries\-introduction\fR\|(7), \fBossl\-guide\-tls\-introduction\fR\|(7)
77 and \fBossl\-guide\-quic\-introduction\fR\|(7)); and that you know how to
82 \&\fBossl\-guide\-tls\-client\-block\fR\|(7). Only the differences between that client and
87 tutorial will discuss how to write a multi-stream client (see
88 \&\fBossl\-guide\-quic\-multi\-stream\fR\|(7)).
92 \&\f(CW\*(C`quic\-client\-block.c\*(C'\fR. It is also available online at
93 <https://github.com/openssl/openssl/blob/master/demos/guide/quic\-client\-block.c>.
96 In the TLS tutorial (\fBossl\-guide\-tls\-client\-block\fR\|(7)) we created an \fBSSL_CTX\fR
110 mode", see \fBossl\-guide\-quic\-introduction\fR\|(7)). For this tutorial we will be
136 .SS "Creating the socket and BIO"
137 .IX Subsection "Creating the socket and BIO"
139 TLS uses TCP while QUIC uses UDP. The way that the QUIC socket is created in our
159 \& * Create a TCP socket. We could equally use non\-OpenSSL calls such
160 \& * as "socket" here for this and the subsequent connect and close
166 \& if (sock == \-1)
169 \& /* Connect the socket to the server\*(Aqs address */
172 \& sock = \-1;
179 \& sock = \-1;
186 \& if (sock != \-1) {
201 Firstly, we set the socket into nonblocking mode. This must always be done for
204 have blocking behaviour. See \fBossl\-guide\-quic\-introduction\fR\|(7) for further
216 As for our TLS client, once the socket has been created and connected we need to
222 \& /* Create a BIO to wrap the socket */
230 \& * Associate the newly created BIO with the underlying socket. By
231 \& * passing BIO_CLOSE here the socket will be automatically closed when
233 \& * case you must close the socket explicitly when it is no longer
250 ALPN (Application-Layer Protocol Negotiation) is a feature of TLS that enables
254 <https://www.iana.org/assignments/tls\-extensiontype\-values/tls\-extensiontype\-values.xml#alpn\-p…
257 simple client that we developed in \fBossl\-guide\-tls\-client\-block\fR\|(7) did not use
278 is being connected to. In "Creating the socket and BIO" above we saved that
344 \& * number of bytes that we read. The data could be non\-printable or
369 \& * reset \- or some failure occurred on the underlying connection.
447 See \fBossl\-guide\-quic\-multi\-stream\fR\|(7) to read a tutorial on how to modify the
451 \&\fBossl\-guide\-introduction\fR\|(7), \fBossl\-guide\-libraries\-introduction\fR\|(7),
452 \&\fBossl\-guide\-libssl\-introduction\fR\|(7), \fBossl\-guide\-tls\-introduction\fR\|(7),
453 \&\fBossl\-guide\-tls\-client\-block\fR\|(7), \fBossl\-guide\-quic\-introduction\fR\|(7)
456 Copyright 2023\-2025 The OpenSSL Project Authors. All Rights Reserved.