bug-hurd
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Strange select behavior


From: address@hidden
Subject: Re: Strange select behavior
Date: Tue, 02 Nov 2004 14:04:17 +0200

Maybe I'm saying nonsense but, it could be the short timeout
value makes the connection to go away before it gets any
data?

Bye!
> 
> Bas Wijnen wrote:
> 
> > Giuseppe Scrivano wrote:
> >
> >>   server_socket = socket (PF_INET, SOCK_STREAM, 0);
> >
> > Check if the call succeeded (server_socket >= 0)
> >
> >>     /* address family.  */
> >>   sock_in.sin_family = PF_INET;
> >>     /* port used.  */
> >>   sock_in.sin_port = htons (8080);
> >>   sock_in.sin_addr.s_addr = INADDR_ANY;
> >>   err = bind (server_socket, (struct sockaddr *)
> &sock_in, sizeof  >> (struct sockaddr_in));
> >
> > Check if the call succeeded (err != -1)
> >
> >>
> >>   for(;;)
> >>   {
> >>     err = listen (server_socket, backlog);
> >>     addrlen = sizeof (struct sockaddr);
> >>     socklen_t ddrlen=0;
> >>     int datatoread;
> >>     do
> >>     {
> >>       datatoread = dataToRead(server_socket);
> >>       sleep(1);
> >
> > I don't understand why you need this with a nonzero
> > timeout in  select()...
> >
> >>       printf("datatoread: %i\n",datatoread);
> >>     }
> >>     while(!datatoread);
> >>         asock = accept (server_socket, (struct sockaddr
> *) &asock_in,  >> &ddrlen);
> >>
> >>     err = send (asock, &send_buff[0], strlen
> (send_buff), 0); >>     if(err != strlen (send_buff))
> >>       printf("Error sending to socket\n");
> >
> > It is not an error for err to be < strlen (send_buff),
> > as long as it  is > 0.  == 0 is in many cases not an
> error either, I think. >
> > My guess is your problem comes from socket() or bind()
> > failing.  Check  their return value, and errno.
> >
> > Thanks,
> > Bas
> 
> Hi,
> I checked for errors, the socket is created and binded
> correctly. I also  forgot to say that increasing the
> timeout the select works well, but  using a short timeout
> like in the example, it doesn't report any data.
> 
> Regards,
> Giuseppe
> 
> 
> 
> _______________________________________________
> Bug-hurd mailing list
> Bug-hurd@gnu.org
> http://lists.gnu.org/mailman/listinfo/bug-hurd




reply via email to

[Prev in Thread] Current Thread [Next in Thread]