Hello, Am wondering if *asynchronous* is synonymous with *connectionless* and *synchronous* is synonymous with *connection oriented* protocol. Those communication protocols that rely on TCP are connection oriented and hence synchronous ( eg RMI,IIOP,SOAP) And Those communication protocols that rely on UDP are connectionless and hence asynchronous. (eg JMS...any other ? ) Am I right? Any suggestions, links to some sites, Books will be much appreciated. Thanx -Mandan
These are not synonymous terms. When communication between two parties is called asynchronous, it generally means the receiver is not waiting on the sender's message. This is sometimes called non-blocking I/O, i.e., the method issuing an I/O call is not held in state, effectively freezing the application, waiting for a return value. Synchronous then simply means the give-and-take of network traffic between two systems is happening in a specific order as each side waits on the other throughout the communication. When communications are connectionless (i.e., there's no attempt to keep two systems in constatn communication), asynchronous communication is simply the only technique that makes sense. Connection-oriented communcations can be asynchronous, but there don't seem to be any lasting benefit. Connectionless, synchronous communications could arguably be useful in a very narrow set of circumstances, but certainly not worth the trouble.
Make visible what, without you, might perhaps never have been seen. - Robert Bresson