Skip to content

Latest commit

 

History

History

string-packet-based-communications

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 

We need you to implement a method of receiving commands over a network, processing the information and responding.

Our device will send a single packet to you containing data and an instruction which you must perform before returning your reply.

To keep things simple, we will be passing a single "packet" as a string. Each "byte" contained in the packet is represented by 4 chars.

One packet is structured as below:

Header  Instruction   Data1    Data2   Footer
------   ------       ------   ------  ------
 H1H1     0F12         0012     0008    F4F4
------   ------       ------   ------  ------

The string received in this case would be - "H1H10F1200120008F4F4"

Instruction: The calculation you should perform, always one of the below.
            0F12 = Addition
            B7A2 = Subtraction
            C3D9 = Multiplication
            FFFF = This instruction code should be used to identify your return value.
  • The Header and Footer are unique identifiers which you must use to form your reply.

  • Data1 and Data2 are the decimal representation of the data you should apply your instruction to. i.e 0109 = 109.

  • Your response must include the received header/footer, a "FFFF" instruction code, and the result of your calculation stored in Data1.

  • Data2 should be zero'd out to "0000".

To give a complete example:

If you receive message "H1H10F1200120008F4F4".
The correct response would be "H1H1FFFF00200000F4F4"

In the event that your calculation produces a negative result, the value returned should be "0000", similarly if the value is above 9999 you should return "9999".