На уровне TCP / IP могут быть отправлены любые символьные значения. Протокол часто используется для передачи двоичных данных (например, это делают SSH, FTP и т. Д.).
Возможно, проблема в том, что ваш код добавляет символы к отправленным данным или печатает полученную строку.
Единственное, что вы можете сделать, чтобы определить, является ли проблема на стороне отправителя или получателя, - это использовать Wireshark на вашем сервере, чтобы перехватить переданные данные и проверить, действительно ли отправлены байты.