TCP Remoting program concept... will it work?
Hey guys,
I've been hearing a lot on all this Remoting stuff about the .NET framework...
I've kinda of always been interested in Chat and IRC type programming in vb6... it was frustrating and kinda dirty though... so, first I heard of SOAP, and that sounded promising.. my goal was to make some kind of instant messaging program out of SOAP... quickly, that idea became impractical. I'm sure it could be done, but there are disadvantages to this method... SOAP messages are big... to send a simple ":)" message in some instant messaging program would actually be a few kb in size... that's not very practical.. Also, SOAP has no session, which is also a disadvantage... It would be hard to make a Server to Clients interface...
So, I want to ask for opinions, and maybe even some help in coming up with a TCP Remoting solution to this... Remoting has session, which will be helpful...
Does anyone else think that this sort of setup would work?
Server -
Has one Function that acts to handle all incoming messages from all clients.... This would kind of be like a Winsock Receive Data event... i guess it could be expanded to include authentication functions, message functions, etc... the server would be database driven, storing a table of Users, their online status, etc... as well as possibly users' Buddy lists (that feature is sort of nice on messengers like MSN)... Server has session state, so it could use that to keep track of users connections (i would think), as well as multithreading in vb.net would now be helpful... server could keep track of users ip's in their session states or in the database, and use that to call remote functions of the client...
Client -
The client would be a host of sorts to host one function that the server could remotely call to send it messages.... Client remotely calls the server's function to send the server messages...
All in all, the basic idea i think seems very simple.. each the client and the server has a function that can be called remotely... This would allow messages to be sent in essence... Now, i know that underneath it all, this is basically winsock, however i think that using it in this manner would be a bit cleaner, easier to work with, and easier to manage...
So, again, what does everyone think of this idea? good, bad, yes, no? i really don't know a great deal about remoting yet, this is why i'm posting, just to get a general consensus about the idea. If it would work well, i'd like to work with someone to develop a very basic Client/server model that could be reused in other programs...
Thanks for your time guys!