Yes, you need to make the underlying socket non blocking, and at the same time gotta change the way you call SSL_accept, SSL_read, write etc to handle non block error conditions like want_read, want_write errors, use the code Eric has given to make the fd non block, or u can also set the bio non block by using FIONBIO option. basically you really need to write an asynchronous state machine.
Thanks --Gayathri On Friday, May 6, 2011, Harshvir Sidhu <hvssi...@gmail.com> wrote: > Thanks for the reply Gayathri.Do you mean to changing the sockets to non > blocking, or when i create bio for ssl to make that as non blocking? > Thanks. > On Fri, May 6, 2011 at 6:03 PM, Gayathri Sundar <suraj...@gmail.com> wrote: > Harsh, > Okay from what I can understand, if you make ur underlying fd non blocking > then it would work fine. Blocking FDs, unless and until one client is > finished with its processing the other client will not be able to communicate > with the server as the previous fd is blocked. The server is waiting on the > 1st client to finish. When you have 3 ports and 3 clients then ofcourse it > will work. > > > thanks--Gayathri > > On Fri, May 6, 2011 at 5:50 PM, Harshvir Sidhu <hvssi...@gmail.com> wrote: > Gayatri,My server code is single threaded and i am using blocking sockets, i > am using fd_set and select to wait for event on socket, and then performing > operation based on the event that acts on a socket. > > I have an array of sockets to listen. So if i start listening on 3 different > ports and from my client machien, i try to connect on them at different ports > then it works fine, but when i use 1 listen port then it dont work properly. > What i mean to say by work properly is that the connection is established, > but when i am waiting for select to return event, then it dont show any > activity when i send data from client, only 1 of them works, 2 dont work. > > > In addition to that, when i use WireShark to see packets, then it shows that > machine has received the packet from client. But server dont show that > alert.Thats why i think it could be some socket option which is affecting it. > > > > // Harshvir > > On Fri, May 6, 2011 at 5:37 PM, Gayathri Sundar <suraj...@gmail.com> wrote: > Harshvir, > SO_REUSEADDR sock option has noting to do with ur problem, please go thro the > socket ops man page to get a better understanding. First find out if ur > server code is a blocking i/o or non blocking I/O..if former then connections > will be handled sequentially..only after the 1st client is finished will the > server be able to respond to the 2nd connect request. If non blocking then > there should be no problem. Check the code if you see and O_NONBLOCK flag set > in some fcntl call or check for FIONBIO flag. > > > > > Thanks--Gayathri > > On Fri, May 6, 2011 at 5:29 PM, Harshvir Sidhu <hvssi...@gmail.com> wrote: > Well i think this link is for my question.I have already done 1-5 from the > Before you ask list.Number 6, i dont know anyone who use openssl. > > > > Number 7, it will take a lot of time to go through all the code, i was just > trying to save some time. I thought user discussion forums are for this only. > I apologize for my understanding. > > > On Fri, May 6, 2011 at 5:18 PM, Jeremy Farrell <jfarr...@pillardata.com> > wrote: > > > > > > > > > > > > > From: Harshvir Sidhu > > > > Hi, > > I have a server application, which accepts normal sockets > and ssl socket connections. I am trying to make 3 connections to server > from 1 client machine, on same server port. > When i connect on normal sockets then it works with any > number of connections. > When i tried to connect SSL then they dont work. If i > connect 1 client then it works. > > In my listen socket, I have SO_REUSEADDR > socket option, at first i thoug ______________________________________________________________________ OpenSSL Project http://www.openssl.org User Support Mailing List openssl-users@openssl.org Automated List Manager majord...@openssl.org