Protocol Version 1

Get Text

Note that all the bytes in the "Client sends" and "Server Sends" columns are hex-encoded.

Example of Get Text method in protocol version 1
Phase Size (bytes) Client sends Server sends Description
Version Negotiation 1 01 Client requests protocol version 1
1 01 Server accepts the request to use protocol version 1
Method selection 1 01 Client requests the get text method
1 01 Server accepts the request
Get text 8 00 00 00 00 00 00 00 10 Server sends the length of copied text as 16 bytes as a 64-bit signed integer in big-endian format. 0000000000000010 in hexadecimal is 16 in decimal.
16 48 65 6C 6C 6F 20 43 6C 69 70 53 68 61 72 65 21 Server sends the text copied to the clipboard, which is 16 bytes long when encoded in UTF-8. The text is "Hello ClipShare!" (without quotes) when decoded.
Communication ends and connection closes

Get Text (no data)

Note that all the bytes in the "Client sends" and "Server Sends" columns are hex-encoded.

Example of Get Text method with no data in protocol version 1
Phase Size (bytes) Client sends Server sends Description
Version Negotiation 1 01 Client requests protocol version 1
1 01 Server accepts the request to use protocol version 1
Method selection 1 01 Client requests the get text method
1 02 Server indicates that there is no text copied to the clipboard (No data)
Communication ends and connection closes

Send Text

Note that all the bytes in the "Client sends" and "Server Sends" columns are hex-encoded.

Example of Send Text method in protocol version 1
Phase Size (bytes) Client sends Server sends Description
Version Negotiation 1 01 Client requests protocol version 1
1 01 Server accepts the request to use protocol version 1
Method selection 1 02 Client requests the send text method
1 01 Server accepts the request
Send text 8 00 00 00 00 00 00 00 10 Client sends the length of copied text as 16 bytes as a 64-bit signed integer in big-endian format. 0000000000000010 in hexadecimal is 16 in decimal.
16 48 65 6C 6C 6F 20 43 6C 69 70 53 68 61 72 65 21 Client sends the text copied to the clipboard, which is 16 bytes long when encoded in UTF-8. The text is "Hello ClipShare!" (without quotes) when decoded.
Communication ends and connection closes

Get Files

Note that all the bytes in the "Client sends" and "Server Sends" columns are hex-encoded.

Example of Get Files method in protocol version 1
Phase Size (bytes) Client sends Server sends Description
Version Negotiation 1 01 Client requests protocol version 1
1 01 Server accepts the request to use protocol version 1
Method selection 1 03 Client requests the get files method
1 01 Server accepts the request
Get files File count 8 00 00 00 00 00 00 00 02 Server sends the number of files as 2 in a 64-bit signed integer in big-endian format.
First file 8 00 00 00 00 00 00 00 0E Server sends the length of the first file name as 14 bytes as a 64-bit signed integer in big-endian format. 000000000000000E in hexadecimal is 14 in decimal.
14 66 69 72 73 74 5F 66 69 6C 65 2E 74 78 74 Server sends the name of the first copied file, which is 14 bytes long when encoded in UTF-8. The file name is "first_file.txt" (without quotes) when decoded.
8 00 00 00 00 00 00 00 25 Server sends the size of the first file as 37 bytes as a 64-bit signed integer in big-endian format. 0000000000000025 in hexadecimal is 37 in decimal.
37 74 68 69 73 20 69 73 20 74 68 65 20 63 6F 6E 74 65 6E 74 20 6F 66 20 74 68 65 20 66 69 72 73 74 20 66 69 6C 65 Server sends the content of the first copied file, which is 37 bytes in size. The file content is "this is the content of the first file" (without quotes).
Second file 8 00 00 00 00 00 00 00 0F Server sends the length of the second file name as 15 bytes as a 64-bit signed integer in big-endian format. 000000000000000F in hexadecimal is 15 in decimal.
15 73 65 63 6F 6E 64 5F 66 69 6C 65 2E 74 78 74 Server sends the name of the second copied file, which is 15 bytes long when encoded in UTF-8. The file name is "second_file.txt" (without quotes) when decoded.
8 00 00 00 00 00 00 00 26 Server sends the size of the second file as 38 bytes as a 64-bit signed integer in big-endian format. 0000000000000026 in hexadecimal is 38 in decimal.
38 74 68 69 73 20 69 73 20 74 68 65 20 63 6F 6E 74 65 6E 74 20 6F 66 20 74 68 65 20 73 65 63 6F 6E 64 20 66 69 6C 65 Server sends the content of the second copied file, which is 38 bytes in size. The file content is "this is the content of the second file" (without quotes).
Communication ends and connection closes

Get Files (no data)

Note that all the bytes in the "Client sends" and "Server Sends" columns are hex-encoded.

Example of Get Files method with no data in protocol version 1
Phase Size (bytes) Client sends Server sends Description
Version Negotiation 1 01 Client requests protocol version 1
1 01 Server accepts the request to use protocol version 1
Method selection 1 03 Client requests the get files method
1 02 Server indicates that there are no files copied (No data)
Communication ends and connection closes

Send File

Note that all the bytes in the "Client sends" and "Server Sends" columns are hex-encoded.

Example of Send File method in protocol version 1
Phase Size (bytes) Client sends Server sends Description
Version Negotiation 1 01 Client requests protocol version 1
1 01 Server accepts the request to use protocol version 1
Method selection 1 04 Client requests the send file method
1 01 Server accepts the request
Send file 8 00 00 00 00 00 00 00 08 Client sends the length of the file name as 8 bytes as a 64-bit signed integer in big-endian format. 0000000000000008 in hexadecimal is 8 in decimal.
8 66 69 6C 65 2E 74 78 74 Client sends the file name, which is 8 bytes long when encoded in UTF-8. The file name is "file.txt" (without quotes) when decoded.
8 00 00 00 00 00 00 00 1F Client sends the size of the file as 31 bytes as a 64-bit signed integer in big-endian format. 000000000000001F in hexadecimal is 31 in decimal.
31 54 68 69 73 20 69 73 20 74 68 65 20 63 6F 6E 74 65 6E 74 20 6F 66 20 74 68 65 20 66 69 6C 65 Client sends the content of the file, which is 31 bytes in size. The file content is "This is the content of the file" (without quotes).
Communication ends and connection closes

Get Image

Note that all the bytes in the "Client sends" and "Server Sends" columns are hex-encoded.

Example of Get Image method in protocol version 1
Phase Size (bytes) Client sends Server sends Description
Version Negotiation 1 01 Client requests protocol version 1
1 01 Server accepts the request to use protocol version 1
Method selection 1 05 Client requests the get image method
1 01 Server accepts the request
Get Image 8 00 00 00 00 00 00 00 5F Server sends the length of the image copied to the clipboard (or a screenshot) as 95 bytes as a 64-bit signed integer in big-endian format. 000000000000005F in hexadecimal is 95 in decimal.
95 89 50 4E 47 0D 0A 1A 0A 00 00 00 0D 49 48 44 52 00 00 00 05 00 00 00 05 08 02 00 00 00 02 0D B1 B2 00 00 00 26 49 44 41 54 08 D7 55 CB 21 12 00 20 10 80 40 70 FC FF 97 31 68 F0 68 1B B0 42 B9 95 01 F5 AC 8B BF 9A D6 CD FC 0F 82 8C 0E 05 22 B1 80 9C 00 00 00 00 49 45 4E 44 AE 42 60 82 Server sends the image copied to the clipboard (or a screenshot), which is 95 bytes long.
The image is: shared image
Communication ends and connection closes

Info

Note that all the bytes in the "Client sends" and "Server Sends" columns are hex-encoded.

Example of Info method in protocol version 1
Phase Size (bytes) Client sends Server sends Description
Version Negotiation 1 01 Client requests protocol version 1
1 01 Server accepts the request to use protocol version 1
Method selection 1 7D Client requests the info method
1 01 Server accepts the request
Get text 8 00 00 00 00 00 00 00 0A Server sends the length of info as 10 bytes as a 64-bit signed integer in big-endian format. 000000000000001A in hexadecimal is 10 in decimal.
10 63 6C 69 70 5F 73 68 61 72 65 Server sends the info text, which is 10 bytes long when encoded in UTF-8. The info text is "clip_share" (without quotes) when decoded.
Communication ends and connection closes