Я пытаюсь получить данные с сервера TCP (SSL).
Я могу успешно установить соединение, отправить команду и прочитать результат (или хотя бы одну его строку).
Это мой код:
[1] pry(main)> tcp_client = TCPSocket.new("devel1.xxxx", 1234)
=> #<TCPSocket:fd 19>
[2] pry(main)> ssl_client = OpenSSL::SSL::SSLSocket.new(tcp_client)
=> #<OpenSSL::SSL::SSLSocket:0x007fd108a46240 @context=#<OpenSSL::SSL::SSLContext:0x007fd108a46218>, @eof=false, @io=#<TCPSocket:fd 19>, @rbuffer="", @sync=true>
[3] pry(main)> ssl_client.connect
=> #<OpenSSL::SSL::SSLSocket:0x007fd108a46240 @context=#<OpenSSL::SSL::SSLContext:0x007fd108a46218>, @eof=false, @io=#<TCPSocket:fd 19>, @rbuffer="", @sync=true>
[4] pry(main)> ssl_client.puts("{'msg': 'connect', 'projectID':'e4b8de7e-d020-4b80-b60f-f2baa08eeac7', 'username': 's', 'password': 's1234'}")
=> nil
[5] pry(main)> ssl_client.eof?
=> false
[6] pry(main)> ssl_client.gets
=> "{\"msg\":\"connected\",\"connectionid\":100,\"version\":\"2.3.5\"}\r\n"
[7] pry(main)> pp Time.now
=> 2018-09-16 00:00:19 +0200
[8] pry(main)> ssl_client.eof?
[9] pry(main)> pp Time.now
=> 2018-09-16 00:05:19 +0200
После команды 6 (которая возвращает данные), любая команда, например, eof?или получает занимает 5 минут времени, чтобы ответить.Что может быть причиной этого?