Bug #15253
Updated by nobu (Nobuyoshi Nakada) over 5 years ago
サーバーにおいて以下のコードを動かしています。 ```ruby require `require 'socket' Socket.tcp_server_loop("", 49088) {|sock, client_addrinfo| Thread.new { begin number_of_copied_bytes = IO.copy_stream(sock, sock) $stderr.puts number_of_copied_bytes p number_of_copied_bytes ensure sock.close end } } ``` ` これに、ESP32マイコンを搭載したArduino 1.8.5からデータを送っても、コンソールに送ったバイト数が 表示されません。つまり、`number_of_copied_bytes`の値が`$stderr.puts`でも`p`でも表示されません。 表示されません。つまり、number_of_copied_bytesの値が$stderr.putsでもpでも表示されません。 ArduinoではなくPC上でRubyを動かしてデータを送ると送ったバイト数が表示されますし、 `Socket.tcp_server`ではなく、`TCPServer`クラスを使用したコードでは、Arduinoから送ったデータが Socket.tcp_serverではなく、TCPServerクラスを使用したコードでは、Arduinoから送ったデータが 問題なく表示されます。