Solved

Choose the Appropriate Network Communication Protocol for this Scenario

Posted on 2004-08-18
4
241 Views
Last Modified: 2012-05-05
Suppose I have the following scenario:  I have a server-based application which collects and sorts various data to send to various client Windows-based applications across a large area network.  The client application will initially request information from the server.  However, the server application should be able to send updates to the client applications throughout the day.  Does this scenario call for me to use TCP/IP or is there something else I should consider?  The part that I am most concerned with is having the server application send updates to the client applications after the initial request, since the socket will close after this initial data is sent (at least this is my understanding).  Can someone explain how I may make this work?  
0
Comment
Question by:jtrades
4 Comments
 
LVL 27

Assisted Solution

by:pseudocyber
pseudocyber earned 50 total points
ID: 11840142
After the initial conversation, the clients could be listening on a UDP port.  The server could then either unicast or multicast out traffic with UDP to the clients to get the updates.  The server wouldn't care about the connection, it would be up to the app to make sure it gets everything.  Alternatively, you could design it so the clients poll the server to see if there's any data to retrieve.
0
 
LVL 11

Expert Comment

by:rafael_acc
ID: 11841711
This in fact may vary with the kind of applications you are using. Thus, what do you want to remotely update? Is this an antivirus update? Are we talking here about sql server replication ...?
0
 
LVL 11

Accepted Solution

by:
PennGwyn earned 150 total points
ID: 11843875
Long-term TCP connections could be susceptible to a couple of problems.  These can be mitigated somewhat if the endpoints are relatively stable:  server-to-server or router-to-router.  Clients, though, are subject to random reboots and other instabilities.

Multicast is intended to address some parts of your problem, but may not be well-supported by all of the infrastructure, and your specification of a "large area" suggests that some of the internal links may be relatively low in bandwidth.  There's a risk that multicast traffic like this could saturate those links and interfere with other traffic.

Best bet might be some sort of triggered update:  When there's new data, the server sends a brief UDP alert packet to each known client.  Clients who receive these notifications can contact the server via TCP to pull down the latest info.  They can do that at intervals anyway, in case a UDP alert wasn't received.  Any client that doesn't connect to the server within some large window gets dropped from the list of known clients.

0
 

Assisted Solution

by:dstarfire
dstarfire earned 50 total points
ID: 11845276
I'd say tcp/ip is your best bet. Most of the other routable protocols can get very bandwidth intensive.

Using tcp/ip, you could configure the client to accept connections on an unused UDP port number, and have the server broadcast to each subnet on that port. This eliminates the problem of overloading low-bandwidth links, as long as the client doesn't need to reply to the server.

0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
forward schedule of change 1 27
DNS Server Changes - 2003 to 2012 6 41
Looking for open port with Telnet 5 37
Cisco 3560 switches not seeing VTP V3 12 17
When you try to share a printer , you may receive one of the following error messages. Error message when you use the Add Printer Wizard to share a printer: Windows could not share your printer. Operation could not be completed (Error 0x000006…
I had an issue with InstallShield not being able to use Computer Browser service on Windows Server 2012. Here is the solution I found.
Internet Business Fax to Email Made Easy - With  eFax Corporate (http://www.enterprise.efax.com), you'll receive a dedicated online fax number, which is used the same way as a typical analog fax number. You'll receive secure faxes in your email, f…
Get a first impression of how PRTG looks and learn how it works.   This video is a short introduction to PRTG, as an initial overview or as a quick start for new PRTG users.

863 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

20 Experts available now in Live!

Get 1:1 Help Now