Ваш readBuffer вполне может не быть нулевым.Фактически, оно может содержать только частичное сообщение.
Самое простое «исправление» - убедиться, что оно завершено нулем
Вы можете использовать LastCount () для определения количества фактически прочитанных байтов.
Однако реальное исправление состоит в том, чтобы установить простой протокол между вашим сервером и клиентом, чтобы вы могли определить, когда было получено все сообщение, и только затем распечатать его.
connection->Read(readBuffer, 255); // leave room for null terminator
readBuffer[connection->LastCount()/2] = L'\0'; // ensure null terminated
Я предполагаю, что вы используете сборку Unicode.Удалите / 2, если вы не