Я использую эту строку для отправки сообщения через сокет Ruby (1.8.7):
@@socket.send login_message, 0
(это прекрасно работает)
Зачем нужен второй параметр? Я не могу найти метод отправки в документации по Ruby API ...
Сначала я подумал, что это была некоторая длина сообщения в стиле C. Вот почему я использовал login_message.length в качестве второго параметра. Это сработало, но я столкнулся со странным поведением:
Все отлично работает, когда вторым параметром является нечетное число. Если это четное число, последний символ теряется при получении на другой стороне (другая сторона - это программа C ++ с сокетом C). Я проверил сетевой трафик с помощью Wireshark и заметил, что пакеты выглядят хорошо. Все данные полны. Почему последний символ теряется, когда я его получаю?
Спасибо
Леннарт