"almost working" again, sending image data to the server chokes if it's above ~1900 bytes, resulting in being unable to send any more messages, yet the socket remains open, and you can still receive full images from the server just fine. changing receive buffer size has no effect.