TCPclient/TCPlistener connects but can't send/receive data? Please help.
-
Hey everyone, I'm working on a project that includes product activation. We are using a TCPclient on the client application to connect to a TCPlistener on the server. 99% of the time, everything goes fine. But we have had a few clients complain that they are unable to activate. I was able to set up a debug server and have the client try activating against that. I watched the incoming connection and the issue seems to be that the client is able to connect and send data (verified by the clients log file), but the server never receives it. The stream.readbyte() function hangs until it times out. Here's some info on the configuration: There are two servers, a main and a backup. Both are up and communicating with most users. They listen on ports 80 and 63016. If the connection fails on port 80, it tries 63016. If the main server cannot be connected to, it tries the backup server with the same ports. My best guess is because it's communicating on port 80 (the http protocol's port), some firewall or security program is blocking the packets because they aren't standard http traffic. It may look like malware trying to "phone home". Which would explain why the connection goes through but the data does not. The client never tries the other port because it successfully connected (I'm in the process of changing this behavior now.) Please, if you have any ideas or things I can try, I'd be greatly appreciative. I'm at the end of my rope here.
-
Hey everyone, I'm working on a project that includes product activation. We are using a TCPclient on the client application to connect to a TCPlistener on the server. 99% of the time, everything goes fine. But we have had a few clients complain that they are unable to activate. I was able to set up a debug server and have the client try activating against that. I watched the incoming connection and the issue seems to be that the client is able to connect and send data (verified by the clients log file), but the server never receives it. The stream.readbyte() function hangs until it times out. Here's some info on the configuration: There are two servers, a main and a backup. Both are up and communicating with most users. They listen on ports 80 and 63016. If the connection fails on port 80, it tries 63016. If the main server cannot be connected to, it tries the backup server with the same ports. My best guess is because it's communicating on port 80 (the http protocol's port), some firewall or security program is blocking the packets because they aren't standard http traffic. It may look like malware trying to "phone home". Which would explain why the connection goes through but the data does not. The client never tries the other port because it successfully connected (I'm in the process of changing this behavior now.) Please, if you have any ideas or things I can try, I'd be greatly appreciative. I'm at the end of my rope here.
it depends if the activation problem is intermittent then it is unlikely to be firewall related problem Firewalls usually require a program to be authorised and I believe it is generally server firewalls that check the traffic content whereas PC firewalls generally tend to block access from a particular program or to a particular port check the software type and version installed on each client PC and compare working/non working installs to see what is different if the IP address/netmask dynamically set or could there be differences there