From the protocol specification:
https://github.com/udp/lacewing/blob/0.2.x/relay/current_spec.txt
As soon as the TCP connection is established, the client
should send a single byte of 0 to identify themselves
as a non-HTTP client. After this, they may start
exchanging messages, of which the Connect request should
be the first.
On initial connection, non-HTTP clients send byte 0. This is not part of the message - the first actual protocol message comes after this.
0
0
11 //lenght
0
..
The first 0 is that "I'm not an HTTP client" identifier. The rest is the actual message: 0 is the type, which is made up of the variant and the request type type. The 11 is the length of the message, and the 0 is the actual "can I connect".
0
4 // lenght
1 // should be the type according to spec (1 for name setting request)
..
Again, 0 is the type, made up of the variant and request type. 4 is the length, again, and 1 is the request to Set Name.
The initial 0 on connection is a confusing aspect of the protocol because it is mentioned in an odd place, but it is mentioned, nonetheless.
Relevant thread in Development forum: http://community.clickteam.com/threads/79449-Lacewing-message-headers