Hi, I'm having loads of problems with sockets.
I'm writing a C client program, and have a third party server program, and my own test harness server. My client communicates with the two servers using stream sockets. All exist on the same Unixware 7 platform.
When I call recv() (with no flags set) on a socket connected to my test harness server program, I get a large string of data returned all in one go. When I use the same code to call the other server, I get the same amount of data but I have to call recv() multiple times to get it all! WHY?!
Also, I can't seem to use getsockopt() to query the values for SO_RCVBUF, SO_SNDBUF, SO_SNDTIMEO and SO_RCVTIMEO. They just come back with values of 0. Is this a weird Unixware default thing, or am I missing something here?
If you can, please help!
I'm writing a C client program, and have a third party server program, and my own test harness server. My client communicates with the two servers using stream sockets. All exist on the same Unixware 7 platform.
When I call recv() (with no flags set) on a socket connected to my test harness server program, I get a large string of data returned all in one go. When I use the same code to call the other server, I get the same amount of data but I have to call recv() multiple times to get it all! WHY?!
Also, I can't seem to use getsockopt() to query the values for SO_RCVBUF, SO_SNDBUF, SO_SNDTIMEO and SO_RCVTIMEO. They just come back with values of 0. Is this a weird Unixware default thing, or am I missing something here?
If you can, please help!