As for one-byte receives, think of the effort and inefficiency involved with trying to drink a Guinness Stout through a hypodermic needle. In other words, send modest amounts, and receive as much as possible. Self abusively lame. Use asynchronous operation mode. Words fail to express such all consuming lameness.
Some users prefer to use network addresses, rather than hostnames at times.
Win32 applications that install blocking hooks. In Win32, there's threading. Exceeds the bounds of earthly lameness. Don't use peek reads. Always read data into your application buffers, and examine it there.