Я недавно написал (грязный, но работающий) класс Socket для минимальной цели.
Пока что сам класс работает нормально, за исключением того, что при получении данных будут добавляться дополнительные данные, однако, только в окнах. Дополнительные данные обычно что-то вроде (замените $RANDOM_NUMBERS
случайными числами):
TA,guid=$RANDOM_NUMBERS
Полученные данные будут выглядеть так:
received from client: Hello server!TA,guid=dba2ba7f040f9ddb8d7107d800000027
В то время как фактический результат должен быть:
received from client: Hello server!
Я перенес Использование сокета BSD, как описано в MSDN .
Этого не происходит в Linux (или любых других приложениях). Строки правильно заканчиваются нулем, тем более что я использую std::string
.
Что я делаю не так? Откуда поступают эти дополнительные данные?