These basic concepts of data communications will help you understand how the DataHub program works.
Send/write data: A program sends a value for a data point, and the DataHub instance records, or writes, the value for that point. This type of communication is synchronous. The send and the write are essentially two parts of a single process, so we use the terms pretty much interchangeably. You can write a value to a DataHub instance manually using the Data Browser.
A typical write command from a program using DDE protocol is DDEPoke.
Receive/read data: A program requests to receive the value of a data point. The DataHub instance then responds by sending the current value of the point. We call this reading the value from the DataHub instance. Again, we sometimes use the two terms interchangeably, and again, this type of communication is synchronous.
A typical read command from a program using DDE protocol is DDERequest.
'Automatic' Receive: It is possible to set up live data channels, where a program receives updates on data points sent from a DataHub instance. How it works is the program sends an initial request to the DataHub instance to register for all changes to a data point. The DataHub instance immediately sends the current value of the point, and then again whenever it changes. A DataHub instance can receive data automatically in a similar way. This asynchronous type of communication is sometimes referred to as publish-subscribe.
A DDEAdvise command sets up this type of connection, which is called an advise loop.