I need some advice.
I have been given an assignment to construct some kind of chat application which uses push technology (In C#, so i have socket objects and all that)
Reading on the internet, i came to know that push technology means in essence, that not the client makes requests, but the server updates content when 'it thinks it's appropriate' (mostly on a time-based schedule, or as soon as new data arrives).
Now i need a few ideas an hints, from you guys who are more knowledgeable in this domain.
My main questions arise here:
If a client logs in, and starts chatting with another one, a regular messenger client would open a connection to the other client, essentially making it a Peer2Peer mini-application, with no server interference. The only actual role of the server would be to update the list of contacts as they 'log in' and 'log out'.
Is this particular implementation good? How do other messenger-chat-apps work? Shouldn't the information pass through the server? If the server's only role is to announce who is 'logged in' and 'logged off', then why bother implementing push technology? (I've been given the assignment, with the words 'push technology' stressed out).
Also some advice regarding socket implementation / problems encountered is appreciated.
Looking forward to hearing your answers.