On Jul 19, 2011, at 12:55 AM, Yogesh Chopra wrote: > Hi, > Please find attached Samples.tgz file which contains sample code > and binaries that you can use to reproduce the problem reported. Here > is a brief summary of the included files: > > Samples/ > ├── Linux > │ > │ ├── dtls_udp_echo.c > │ └── Make.sample > └── Windows > └── dtls.zip > > > You can run the client program on a Linux host. > Using usage below where -p represents ports and -n represents packets to send > ./client -r 10.10.100.116 -L 0.0.0.0 -p 23232 -v -l 1400 -n 100 > > You can run 2 -3 client instances from the same host (or different host) > > > The windows source code, VC project files are included in > Samples/Windows/dtls.zip > The server listens by default on port 23232 > > You can run the server binary from dtls\windows\vc_proj\Debug\dtls.exe > (All server certs are already included in Debug directory) > > > As reported earlier, the problem is server does not accept any new > client connections until a client connection is being processed. > > (You can compile the same windows server simple_dtls_udp_server.c on > linux too using the Make.sample instructions and see that this is not > an issue on Linux). > > I had to remove binaries (linux and windows) due to size limitations > for post messages. > > Note: Please refer to this link from Microsoft > http://msdn.microsoft.com/en-us/library/ms740621%28v=vs.85%29.aspx Reading this in combination with http://msdn.microsoft.com/en-us/library/system.net.sockets.udpclient.exclusiveaddressuse.aspx#Y617 (First sentence after Remarks) it seems that you simply can't build a UDP based server using multiple connected socket. The problem is not limited to the listen() stuff, even if you decide not to use the listen() stuff, DTLS in OpenSSL uses connected UDP sockets. Hmm. I've never seen this kind of limitation on any Unix system. So I suggest to use a non-Windows system for the server side, most likely a wise decision anyways... > > This may be a problem in general on windows on using SO_REUSEADDR. > > If there are any known workarounds or alternatives we can use that > will be great. The workaround is to use an operating system with a proper IP stack, aka a Unix like system.
Best regards Michael PS: I'm actually surprised that you got that far on Windows, since we NEVER tested any line of the DTLS code on any kind of Windows. > > -Yogi > <Samples.tgz> ______________________________________________________________________ OpenSSL Project http://www.openssl.org Development Mailing List openssl-dev@openssl.org Automated List Manager majord...@openssl.org