On Feb 7, 2007, at 10:49 AM, Jonas Maebe wrote: On 07 Feb 2007, at 19:34, Dave Hayden wrote:
Looking at the code again, I noticed this in the socket setup code:
setsockopt(sock, SOL_SOCKET, SO_RCVBUF, (void*)32768, sizeof(int));
Shouldn't you pass the address of a variable containing the buffer size rather than the actual value? Have you tried checking the return value of that call?
A few points from a pedant, since nobody mentioned this:
1. Never use explicit casts unless you absolutely must. They can silently throw away type information.
2. Never use C-style casts in C++, they always silently throw away type information.
3. If you must perform an explicit cast and you're using C++, use the verbose, more specific casts like static_cast<>. If you absolutely must, use reinterpret_cast<> instead of C-style casts to make it obvious where you're overriding type information.
4. Periodically try removing casts, especially reinterpret_cast<>, to see whether they're actually necessary—remove them if they are not.
</pedantry>
-- Chris Page - Dylan Programmer
|