Groups | Blog | Home
all groups > dotnet framework > june 2007 >

dotnet framework : Messenger-Esque Windows Service: How Do Major Messengers Do It?


Alex
6/14/2007 12:20:27 AM
I am fairly new to .net development. I have read a number of articles
about developing messenger applications, but they all assume that it
is operating internally and that the IP address of the client is
known. I would like to develop a messenger-esque service that will
communicate live database information to a central, remote server.

The process would be something like this:
1) A user at the remote site requests information from the messenger-
esque client
2) The remote server contacts the client
3) Client sends information
4) Remote interprets

I know this sounds like a web service would accomplish this, and it
would. However, my target users will not know how to (or care to)
install IIS and configure it appropriately to host a web service. How
do messenger services handle this? Is the client constantly
communicating with the remote server to check for requests? Any advice
on how to get started with this?

Thanks!
Jeff Hopper
6/14/2007 10:03:47 AM
How about something like this?
http://www.eggheadcafe.com/articles/20020323.asp

[quoted text, click to view]
Chris Mullins [MVP]
6/14/2007 1:33:50 PM
The IETF standard for doing this kind of stuff is called XMPP:
http://www.xmpp.org
http://www.jabber.org

There are a number of .Net tools out there to let you leverage this
protocol, including full client and server SDKs.

--
Chris Mullins, MCSD.NET, MCPD:Enterprise, Microsoft C# MVP
http://www.coversant.com/blogs/cmullins

[quoted text, click to view]

Alex
6/14/2007 5:48:42 PM
On Jun 14, 8:03 am, "Jeff Hopper" <j...@hopperconsulting.net_no-spam-
[quoted text, click to view]

Jeff,

This is very close to what I am envisioning. However, the IP address
of the tcpListener is known in this case. As I've done some research,
I can better state my needs:

1) A centrally located client will listen for a successful
connection / login from a desktop client or windows service on a
user's computer.

2) Once the login is successful, the central client needs to be able
to send requests to the desktop client for database information,
almost like a web service.

My major hangup is: How does the central client know what address to
send requests to? For example, a request sent to my external ip
address right now will hit my router, not my computer.

A followup question: Since the article you pointed out shows how to
respond once a connection is made, would it make sense to maintain a
persistent connection?

That article was a great step. Thank you very much for pointing me to
it.

-- Alex
AddThis Social Bookmark Button