Подскажите, может сталкивался кто уже с такой проблемой. Принимаю сообщения через recv от клиента PuTTY и после каждого сообщения почему то приходит комбинация символов разрыва строки \r\n отдельным сообщением. Не хотелось бы отдельно создавать recv для приёма пустого сообщения. В PuTTY устанавливаю raw соединение по 1777 порту.
defe, с таким скудным описанием вам, скорее всего, никто не поможет тут, какой тип соединения используете хотя бы написали в PuTTY, какие параметры подключения выставлены, а так можно в настройках терминала посмотреть, и на кофейной гуще погадать
Как бы все логично putty делает, все что вводится, то и отправляется серверу. Единственное клиент может по разному вести себя в зависимости от настроек. Для примера взять обычный tcp сервер на node: Code: net = require('net'); net.createServer(function (socket) { socket.name = socket.remoteAddress + ":" + socket.remotePort; console.log('Connect client: ', socket.name); socket.write("Welcome " + socket.name + "\r\n"); socket.on('data', function (data) { console.log('bin: ', data); console.log('text: ', data.toString()); }); socket.on('end', function () { console.log('Client disconnect'); }); }).listen(1777); console.log("Server running at port 1777\n"); и подключиться к нему в режиме Raw, при этом в параметрах Terminal -> Line discipline option -> Local line editing выставить Force on. В результате вы можете спокойно набирать текст, например "123", и он уйдет на сервер только после нажатия enter, а в логе сервера вы увидите что-то типа: Code: Connect client: ::1:64895 bin: <Buffer 31 32 33 0d 0a> text: 123 если же выставить Force off, то клиент будет себя вести по другому и тогда вы уже получите, при вводе 123, что-то такое: Code: Connect client: ::1:64903 bin: <Buffer 31> text: 1 bin: <Buffer 32> text: 2 bin: <Buffer 33> text: 3 bin: <Buffer 0d> text: то есть символы будут отправляться сразу, по мере набора, а при нажатии на enter будет отправлен CR