Hi, I am using a separate (second socket) for client connect and leaving the listening socket unconnected to receive everything else. (The server program is same as provided for linux earlier). The server program is same as provided earlier. (This will need modifications for windows and I will try uploading a new server program for windows compilation but this program is essentially what is used).
http://groups.google.com/group/mailing.openssl.dev/browse_thread/thread/91f7fa90ab401759?pli=1 Thanks, -Yogi On Sun, Jul 17, 2011 at 11:57 PM, Robin Seggelmann <seggelm...@fh-muenster.de> wrote: > Hi Yogesh, > are you connecting the listening socket? That shouldn't work on Linux either. > The DTLSv1_listen call returns the sock_addr structure of the connecting > client, so you can create a new socket dedicated for that client and connect > it, while leaving the listening socket unconnected to receive everything else. > > Best regards > Robin > > > On Jul 16, 2011, at 1:53 AM, Yogesh Chopra wrote: > >> Hi, >> I am using OpenSSL-1.0.0d (release) + all cumulative bug fixes + >> DTLS Heartbeat feature patch on Windows. >> >> A DTLS server (non-blocking) using DTLSv1_Listen having a UDP socket >> with SO_REUSEADDR is unable to accept a second client connection when >> it is already accepted a client connection and serving it. >> >> Details: >> >> Server Client 1 >> State >> >> DTLSv1_Listen Handshake complete Established >> Client 2 >> State >> Keeps sending CLIENT >> HELLO but Server never responds with HelloVerify request >> and select never gets >> triggered on the listen fd (used by DTLSv1_listen) >> >> As per some of the windows documents for connect, see excerpt below: >> >> http://msdn.microsoft.com/en-us/library/ms737625%28v=vs.85%29.aspx >> >> "For a connectionless socket (for example, type SOCK_DGRAM), the >> operation performed by connect is merely to establish a default >> destination address that can be used on subsequent send/ WSASend and >> recv/ WSARecv calls. Any datagrams received from an address other than >> the destination address specified will be discarded." >> >> So it appears that once a socket is connected to a client, it will no >> longer be used for accepting second client. >> >> It has been observed, that when the first client connection is >> released (terminated) a new client connection is accepted. >> >> This is not a problem on Linux. >> >> Is there any workarounds or special handling for windows ? >> >> Thanks, >> -Yogi >> ______________________________________________________________________ >> OpenSSL Project http://www.openssl.org >> Development Mailing List openssl-dev@openssl.org >> Automated List Manager majord...@openssl.org > > > ______________________________________________________________________ OpenSSL Project http://www.openssl.org Development Mailing List openssl-dev@openssl.org Automated List Manager majord...@openssl.org