views:

14

answers:

0

A really strange one. We have a .NET application that connects to a server sends some information and then reads some information. The data I read has a fixed length header. The first part of the header is 1 byte. The problem is when doing the 1 byte read the network call blocks as if there is no data to be read. Now I know the data is on the network. Verified with network sniffers etc. This problem is only effecting 1 machine at the moment. Hundreds of other machines are working perfectly. Here is the kicker. When I put TCPTrace in between (So the .NET app now connects to localhost and TCPTrace to the server) it works!. TCPTrace is simply a little proxy that reads and writes data and logs to a file so you can see the traffic. Having TCP Trace in between works every time. As soon as its removed we back blocking at the 1 byte read.