I've been doing testing with WSockets component lately and its giving weird results. I did a very simple program for file transfer that when connection lasts throughout transfer, always sends the file perfectly without file errors. Problem is that if i increase packet size from 1k bytes to 2k or more it will cause client connection to end with error message.

Within my country i tested with someone else with 4k packets and it sometimes worked, sometimes didn't. On local testing within my computer the 4k worked perfectly giving a 10Mb/s transfer rate. (this can be handy for app<->app communication)
Then a test with someone outside my country only worked with 1k... even 2k gave errors right away.

Component seem to use blocking packets (not allow sending only part of packet). Also when sending a packet i always send a small about 11 bytes answer after which another data part is sent.

Any ideas, or know of component that you have tested to work better?

File with full source here:
http://www.easy-share.com/1908565547/FileSend_full.zip
WSockets:
http://www.torry.net/vcl/internet/sockets/wsock120.zip