I'm looking for a way to write a .NET client/server application that uses port 80 to push communication from the server to the client. An example would be a chat application with these characteristics:
- runs on the client all the time.
- the server decides when to send new information to a client
- upon receiving this push from the server, the client reacts by popping up on the screen.
My guess is that I need to maintain an open session over port 80 - but I don't think it needs to be http. The "client" can not run as a server, however - in other words, I can't install a web-server-lite on the client and expect it to respond to incoming http requests: corporate firewalls would prevent that. Also, a client-pull will not work because clients have to react to new information on the server within 4 seconds, and that's too many requests for both the client and the server - both would get bogged down. I've seen an application that seems to run completely on port 80 without client pull's called BoldChat (www.boldchat.com
) and I would think that the way this program works would apply here as well.
Any suggestions on how I would go about doing this with a .NET (or Java, or other) client?