other:visual3dserver:documentation:xml_protocol
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revision | |||
| other:visual3dserver:documentation:xml_protocol [2024/07/17 15:43] – removed sgranger | other:visual3dserver:documentation:xml_protocol [2024/07/17 15:44] (current) – created sgranger | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| + | ====== XML Protocol ====== | ||
| + | |||
| + | ==== Common XML Markup Language ==== | ||
| + | |||
| + | Data from various hardware systems is collected in the server and then repackaged in a common XML based language. | ||
| + | |||
| + | The Server accepts a subset of the standard Visual3D pipeline commands and then applies those commands to the real-time hardware data. The results are then packaged up in a common XML based language and broadcast. | ||
| + | |||
| + | All command are nested within the out command < | ||
| + | |||
| + | < | ||
| + | < | ||
| + | ... nested commands ... | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | where the attribute from is either " | ||
| + | |||
| + | The initial < | ||
| + | |||
| + | Most commands will include a ' | ||
| + | |||
| + | === Connect Command === | ||
| + | |||
| + | The first XML command a client must send to Visual3DServer is the connect command. This command introduces the client to the sever. Syntax: | ||
| + | |||
| + | < | ||
| + | < | ||
| + | <connect protocol=" | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | Connect command attributes: | ||
| + | **Protocol**: | ||
| + | **Name**: name of client application (string, no format)\\ | ||
| + | **Version**: | ||
| + | **Date**: date when client was created (string, no format)\\ | ||
| + | **Environment**: | ||
| + | |||
| + | |||
| + | \\ | ||
| + | The server will echo the message back to the client, indicating if the command was accepted. If a TCP connection was made, the server will tell the client the UDP broadcast port number over which real-time data will arrive. | ||
| + | |||
| + | < | ||
| + | < | ||
| + | <connect status=" | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | Server response command attributes: | ||
| + | **Connect Status**: will be either " | ||
| + | **Broadcastport**: | ||
| + | **Message**: | ||
| + | |||
| + | |||
| + | Note 1: If there is a hardware system connected to the Server when the connect command from the client is received then the Server will respond with a combination of the connect command and the systemsget command, and example of which can be seen below in the systemsget section. | ||
| + | |||
| + | === systemsget Command === | ||
| + | |||
| + | From time to time the server will send all clients the systemsget command, which indicates when there has been a change in the available hardware data sources. Syntax: | ||
| + | |||
| + | < | ||
| + | < | ||
| + | < | ||
| + | <system value=" | ||
| + | <system value=" | ||
| + | </ | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | Server Response Systemsget Command attributes: | ||
| + | **System value**: there will be one system value line for each of the hardware systems connected to the Server and it will provide the name of the hardware system connected.\\ | ||
| + | |||
| + | |||
| + | \\ | ||
| + | Note 1: This is the only command that is " | ||
| + | |||
| + | Note 2: When the server responds to a connect command, the server includes which hardware data sources are available at the time of connection. This is done for convenience and results in the message below which is a combination of the connect and systemsget command. | ||
| + | |||
| + | < | ||
| + | < | ||
| + | <connect status=" | ||
| + | < | ||
| + | <system value=" | ||
| + | <system value=" | ||
| + | </ | ||
| + | </ | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | === systemsset Command === | ||
| + | |||
| + | A client tells the server which hardware systems in which to receive data from by sending the systemset command. Syntax: | ||
| + | |||
| + | < | ||
| + | < | ||
| + | < | ||
| + | <system name=" | ||
| + | </ | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | \\ | ||
| + | |||
| + | |||
| + | Client Systemsset Command attributes: | ||
| + | **System name**: this is the hardware system that the client is requesting data from. | ||
| + | |||
| + | Server response: | ||
| + | |||
| + | \\ | ||
| + | |||
| + | |||
| + | < | ||
| + | < | ||
| + | < | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | \\ | ||
| + | \\ | ||
| + | |||
| + | |||
| + | Server Systemsset Response attributes: | ||
| + | **Systemsset status**: will return " | ||
| + | **Value**: this will indicate the number of hardware systems which are sending data to the client.\\ | ||
| + | |||
| + | |||
| + | Note: The attribute **value** indicates how many hardware systems are engaged by the particular client. | ||
| + | |||
| + | === Pipelineset Command === | ||
| + | |||
| + | A sample of a possible fifth XML command is below. It is generated by the client and tells Visual3DServer which pipeline should be applied to the data that it is asking for. Syntax: | ||
| + | |||
| + | < | ||
| + | < | ||
| + | < | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | Client Pipelineset Command attributes: | ||
| + | **Pipelineset value**: this is the pipeline command that will be used to process the data being exchanged. | ||
| + | |||
| + | A sample of a possible sixth XML command is below. It is generated by Visual3DServer and confirms that a valid pipeline request was sent and then sends the requested data to the client. Syntax: | ||
| + | |||
| + | < | ||
| + | < | ||
| + | < | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | Server Pipelineset Response attributes: | ||
| + | **Pipelineset status**: status will be " | ||
| + | **Message**: | ||
| + | |||
| + | |||
| + | |||
other/visual3dserver/documentation/xml_protocol.1721230991.txt.gz · Last modified: by sgranger
