この行を使用して、Ruby (1.8.7) ソケット経由でメッセージを送信しています。
@@socket.send login_message, 0
(これはうまくいきます)
2 番目のパラメーターは何ですか? Ruby API ドキュメントで send メソッドが見つかりません...
私は最初、メッセージの C スタイルの長さだと思いました。これが、login_message.length を 2 番目のパラメーターとして使用した理由です。それはうまくいきましたが、私は奇妙な振る舞いに遭遇しました:
2 番目のパラメーターが奇数の場合、すべて正常に機能します。偶数の場合、反対側での受信時に最後の文字が失われます (反対側は C ソケットを備えた C++ プログラムです)。Wireshark を使用してネットワーク トラフィックを調べたところ、パケットが適切に表示されていることがわかりました。すべてのデータが完成しました。受け取ったときに最後の文字が失われるのはなぜですか?
ありがとうレナート