Socket returning as readable when it is not.
-
I have used the select(); function in an attempt to program a [Timed out] message into my program. In this case the host I am working with is www.ebay.com. You will notice that if you open a command prompt in windows and ping www.ebay.com that you will get four [timed out] output messages sent to the screen. I would like to do the same thing with my program and have chosen to use the select(); function to accomplish this task. The problem is that select(); returns the socket connected to www.ebay.com as readable. How could this be? If I can't use select(); to discover that I have not gotten a reply, how then will I know that no echo reply has been sent back to me? Thank you, Eric Sepich
-
I have used the select(); function in an attempt to program a [Timed out] message into my program. In this case the host I am working with is www.ebay.com. You will notice that if you open a command prompt in windows and ping www.ebay.com that you will get four [timed out] output messages sent to the screen. I would like to do the same thing with my program and have chosen to use the select(); function to accomplish this task. The problem is that select(); returns the socket connected to www.ebay.com as readable. How could this be? If I can't use select(); to discover that I have not gotten a reply, how then will I know that no echo reply has been sent back to me? Thank you, Eric Sepich
Remember that a ping is performed at a lower level (ICMP) than a normal socket using select (TCP). Probably the reason you get no response by pinging www.ebay.com, is that the server is not responding to ping requests, and yet does respond to TCP requests (it would have to in order to serve HTTP!). Hence your select returns that it has connected.