Hi Grace, UDP is a datagram service - think of it as “fire and forget”. So the sending socket will not know if or when the packet has been delivered to the receiver, let alone that it has been consumed. You could, of course, create your own application level acks and retries etcetera, but before you know it you are rebuilding TCP.
See e.g. https://www.diffen.com/difference/TCP_vs_UDP <https://www.diffen.com/difference/TCP_vs_UDP> for a comparison between UDP and TCP. rgds, Hugh > On 16 Feb 2018, at 04:35, Grace Priscilla Jero <grace.prisci...@gmail.com> > wrote: > > Hi All, > > I want to know the status of the SSL_WRITE for DTLS on UDP on a non-blocking > socket. Only if the other end does the recvfrom I want to continue with > subsequent SSL_WRITE. > > Below is what I have tried. > > //Making the socket blocking - if I dont do below then select call hangs > > if (wfd = SSL_get_wfd(ssl)) > { > flags = fcntl(wfd, F_GETFL); > flags &= ~O_NONBLOCK; > fcntl(a_wfd, F_SETFL, flags); > > FD_SET(wfd, &write_fds); > } > len = SSL_write( ssl, > buf, > elen); > > i = select(wfd+1, NULL, &write_fds, 0, 0); > > The other side has not yet done the SSL_read but i is "1". > Is their something wrong with this? > > Thanks, > Grace > > -- > openssl-users mailing list > To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-users
-- openssl-users mailing list To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-users