Although not a C++ specific problem but you may have an idea how to help me anyway.
A program that has worked for a long time suddenly stopped working and I suspect it's a security patch issue.
Background:
I've made a program on a Pocket PC (Windows Mobile 5) that connects to a TCP/IP server program through Active Sync/Sync Center. The "server" program can be running either on the machine where the Pocket PC is connected or on a machine on the same network as the machine connected to the Pocket PC.
Problem:
I keep windows up-to-date at all times with patches from Windows Update so I don't know exactly when this problem started. The below test machines are on the same network.
PC-A is running Windows Vista Ultimate
PC-B is running Windows 2003 Server
PC-C is running Windows XP Professional
Let's call the TCP/IP server program SrvA, SrvB and SrvC (depending on which PC it runs on).
If PPC is connected to PC-A it cannot communicate with SrvA.
Any other combination works fine though.
e.g
PPC connected to PC-A can communicate with SrvB and SrvC.
PPC connected to PC-B can communicate with SrvA, SrvB and SrvC.
PPC connected to PC-C can communicate with SrvA, SrvB and SrvC.
The strange thing is that there are NO error when the PPC (connected to PC-A) connects and send data on a socket to SrvA (but the listen socket do not receive a connection request).
When the PPC calls the recv(socket, ...) API it will result in 10054 (socket closed by the remote host).
I also tried the sample winsock code from MSDN (with a client that send a string to a server and the server returned the same string to the client) with the same result.
The above was tested with windows firewall ON and OFF.
Anyone of you guys have an idea why the PPC cannot communicate with SrvA if connected to PC-A?