next up previous contents 5
Next: Gui to Server Messages Up: The DCS Protocol Previous: The binary section   Contents

Connection Protocol

The connection protocol has been simplified from the first two releases of DCS. The GUI and hardware clients connection to DCSS on different ports.

For hardware servers (DHS):

  1. The new DHS opens a socket connection to the hardware listening port on DCSS.

  2. DHS begins reading and handling messages sent from DCSS.

  3. DCSS will send a stoc_send_client_type to the DHS.

  4. The DHS has 1 second to respond with the following message:

    htos_client_is_hardware dhsName as discussed in Client is hardware message .

    At this point DCSS will disconnect a DHS for the following reasons:

For GUI clients (BLU-ICE):

  1. The new BLU-ICE opens a socket connection to the GUI client listening port on DCSS.

  2. DCSS will send a stoc_send_client_type to the BLU-ICE.

  3. The BLU-ICE has 1 second to respond with the following message:

    htos_client_is_gui userName hostname display

    Where userName is the unix account name of a the user that initiated the BLU-ICE.

    At this point DCSS has the option to disconnect the BLU-ICE for the following reasons:

  4. After DCSS confirms that the userName is listed in the mysql database, DCSS will send the following message to BLU-ICE with 200 bytes of trailing binary data:

    stog_respond_to_challenge

  5. BLU-ICE must read the 200 bytes of binary data and respond to DCSS appropriately.

    At this point DCSS will disconnect the BLU-ICE for the following reasons:

  6. DCSS sends an message stog_login_complete

  7. DCSS sends another message

    stog_set_permission_level permissionLevel

    where permissionsLevel is a number obtained from the mysql's Users table that can be used by the GUI to disable or enable certain buttons and tabs. DCSS will also use this value to prevent the user from doing what they are not allowed to do.

  8. DCSS will then proceed to update the BLU-ICE client with the complete state of the beam line. This will include every motor position.

  9. DCSS will then begin processing message from BLU-ICE as they come in, and will send messages to the BLU-ICE client to keep the BLU-ICE up-to-date with the latest status of motor positions or operation activity.

  10. DCSS will disconnect the BLU-ICE under the following circumstances:


next up previous contents 5
Next: Gui to Server Messages Up: The DCS Protocol Previous: The binary section   Contents
Scott McPhillips 2011-07-06