we have a client who needs to receive interactive messages from the server, from clients that are distributed around the world for all types of firewalls, while all types of ports are closed. The only thing we can rely on is HTTP port 80 (and HTTPS 443).
The design is mainly modeled after XMPP (Jabber protocol) using our client and IIS. The client sends GET requests to the .NET handler; the handler keeps the request open for searching messages. If any messages arrive, they are immediately sent to the client; if not, then after a timeout the connection closes with the answer "no data". The client immediately opens the message.
Well, theoretically.
What actually happens in the first place, IIS cannot process more than 100 simultaneous requests - the rest are all queued, and there may be a few minute lag between the “connected” and IIS, which recognize that the client has called. Secondly, about half the time when the client leaves the server without an answer (the client has five minutes longer than the server).
POST always works. Other data served on the same web server works. Web services on a single server are running. This is a ready installation on a Windows 2K3 server.
Is there a configuration parameter that we are missing, or is there something else I should pay attention to?
Thank.
source
share