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