My guess would be that the applications are written with assumptions that are not valid when the "network" is very fast, as for example when using loopback connections.
A lot of people who try to write VB programs based on the Winsock Control for example make a lot of assumptions oabout how data arrives in the buffer and how event triggering and handling will flow.
Anyway, to debug things like this I use TCPTap, a program that can be used to "plug in" between a TCP client and server and monitor message flow.
You'd run TCPTap on your test machine, and tell it to connect to your "localhost" server also on that same machine. Then you give TCPTap a DIFFERENT port number to use, so that it can masquerade as your server to your client program.
Then you have your client program (still on the same machine) connect to the TCPTap client port. TCPTap passes all the traffic through and logs it to a test file of your choosing.
Normal connection:
Code:
[client]3002-----3002[server]
TCPTapped connection:
Code:
[client]6002---6002[TCPTap]3002---3002[server]
TCPTap doesn't care if you change the server's port or the client's port, but you need to change one of them unless TCPTap is on a separate machine from the client, server, or both. I.e. this won't work:
Code:
[client]3002---3002[TCPTap]3002---3002[server]
Problem is, you can't have two "servers" on the same machine via localhost that bind to the same TCP port.
This WILL work though:
Code:
[client]3002 3002[server]
Where both the client and server are on Machine A and TCPTap is on Machine B. That won't help you though, because your traffic will be going over a physical network now.
Ah well, TCPTap is free and can be DLed from