Harsh,

I would take up his offer of help. Socket control over multiple sockets is tricky code and very specific to what you are trying to do. My environment is single threaded and does similar things to yours -- but as Gayathri said, there are many details and exceptions and although with some online help or books I am sure with enough time you could do it (took me forever the first time) I suspect that this offer is as good as they get. I am not jobless (lucky me) so I can't put in the time he can.

Gayathri -- would you be interested in pure C coding on a contract basis (intermittent, not really a job, more like occasional tasks) -- the code we write runs on AIX, Linux, OS/X, SCO, HP/UX, Centos, etc. so it is a little tricky to make work. If you have interest let me know your rates and real email and so forth.

Thanks, Eric


At 08:33 PM 5/6/2011, you wrote:
Harsh.,

If u have any specific doubts in writing this asynchronous state
machine email me privately at suraj...@gmail.com.
I am pretty much jobless right now and can spend some time on this.

Thanks
--Gayathri


On Friday, May 6, 2011, Harshvir Sidhu <hvssi...@gmail.com> wrote:
> Thanks, I will give this a try.
> // Harshvir
>
> On Fri, May 6, 2011 at 6:44 PM, Eric S. Eberhard <fl...@vicsmba.com> wrote:
> Change the sockets.  This is what I use:
>
> int setblock(fd, mode)
> int fd;
> int mode;                       /* True - blocking, False - non blocking */
> {
>         int flags;
>         int prevmode;
>
>         flags = fcntl(fd, F_GETFL, 0);
>         prevmode = !(flags & O_NDELAY);
>         if (mode)
>                 flags &= ~O_NDELAY;             /* turn blocking on */
>         else
>                 flags |= O_NDELAY;              /* turn blocking off */
>         fcntl(fd, F_SETFL, flags);
>
>         return prevmode;
> }
>
> Since it returns the existing mode you can use as such:
>
> prevmode = setblock(fd,0)                       /* turn of blocking */
> /* do your thing */
> (void)setblock(fd,prevmode); /* restore to original condition */
>
> At 04:15 PM 5/6/2011, you 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 <<mailto:suraj...@gmail.com>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 <<mailto:hvssi...@gmail.com>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 <<mailto:suraj...@gmail.com>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 <<mailto:hvssi...@gmail.com>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.
>
______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
User Support Mailing List                    openssl-users@openssl.org
Automated List Manager                           majord...@openssl.org


Eric S. Eberhard
(928) 567-3727          Voice
(928) 567-6122          Fax
(928) 301-7537                           Cell

Vertical Integrated Computer Systems, LLC
Metropolis Support, LLC

For Metropolis support and VICS MBA Support!!!!    http://www.vicsmba.com

Pictures of Snake in Spring

http://www.facebook.com/album.php?aid=115547&id=1409661701&l=1c375e1f49

Pictures of Camp Verde

http://www.facebook.com/album.php?aid=12771&id=1409661701&l=fc0e0a2bcf

Pictures of Land Cruiser in Sedona

http://www.facebook.com/album.php?aid=50953&id=1409661701

Pictures of Flagstaff area near our cabin

http://www.facebook.com/album.php?aid=12750&id=1409661701

Pictures of Cheryl in a Horse Show

http://www.facebook.com/album.php?aid=32484&id=1409661701


Pictures of the AZ Desert

http://www.facebook.com/album.php?aid=58827&id=1409661701

(You can see why we love this state :-) )








______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
User Support Mailing List                    openssl-users@openssl.org
Automated List Manager                           majord...@openssl.org

Reply via email to