Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

PC-LINK II Protocol Header

The Client application sends a byte sequence of ASCII value <5> ended with byte value <6>. The Client may use any number of <5>'s but only one ending <6>. As soon as EazyLink receives the first <5>, it begins to listen for the ending <6>. When <6> has been received, EazyLink Server immediately answers with <5><5><6> to acknowledge to the Client that it has received the protocol header. The following figure illustrates the request/response action:

------------------------------------------------------------------------------
Client Server Action
------------------------------------------------------------------------------
<5><5><6> -> waiting PC-LINK II Protocol header
waiting <- <5><5><6> Acknowledge protocol header
Awaiting PC-LINK II command
------------------------------------------------------------------------------

Once this synchronisation has taken place, EazyLink awaits a command in PCLINK II protocol stream.

PC-LINK II byte stream protocol

When the protocol header has been acknowledged by the Client, the byte stream transmission can begin. For each byte sent from the Client, the byte received by the server is acknowledged with a null <0> indicating a successful reception of the byte. When the Client has received the <0>, it is ready to transmit the next byte.

If the server somehow cannot cope with receiving the byte (e.g. if the byte is part of a file transmission and no room is left in the Z88), the server will acknowledge with <1> indicating an error status.

It is the responsibility of the Client to stop with further transmission of the command process and abort, possibly returning an appropriate error to the user. The following action table illustrates the PC-LINK II byte stream protocol:

------------------------------------------------------------------------------
Client Server Action
------------------------------------------------------------------------------
<byte> -> waiting send byte to server
waiting <- <0> byte received successfully
or
waiting <- <1> error condition
------------------------------------------------------------------------------

The opposite byte stream flow is of the same principle; when the EazyLink Server sends a byte to the Client, it has to answer with a <0> or <1> if an error condition is active:

------------------------------------------------------------------------------
Server Client Action
------------------------------------------------------------------------------
<byte> -> waiting send byte to client
waiting <- <0> byte received successfully
or
waiting <- <1> error condition
------------------------------------------------------------------------------