Клиент должен считать строку с помощью ReadUTF() - значит, нужно сначала записать кол-во символов в строке ushort, а затем саму строку. Я так и делаю
string email = "test@yandex.ru";
ushort lemail = Convert.ToUInt16(email.Length);
...
writer.Write(lemail);
writer.Write(email);
Но в клиенте получаю \u000etest@yandex.r
Проблема решилась привидением строки в UTF-8
Encoding.UTF8.GetBytes(email)
Продвижение своими сайтами как стратегия роста и независимости