I have a a Windows 2000 process that servers multiple instances of a socket. In OS X 10.6 I have a client that opens the sockets served in Windows. I am running a bridged network in Parallels. The message written from the server to the client will sometimes get crossed to the wrong socket instance. The problem seems to be time sensitive where writing a few infrequent messages works fine but if the messages are sent in quick succession, they will get confused and arrive at the client side on the incorrect socket instance. Sample: Socket A and B are opened between a client (OS X) and server (Windows 2000). Server writes "Hello A" on socket A and "Hello B" on socket B. Client socket A receives "Hello B". Note: A similar client run inside Windows 2000 does not get this confusion. If it is important: the client is written in Java 1.6.