Ruby 对等方重置TCPSocket连接

Ruby 对等方重置TCPSocket连接,ruby,ssl,tcp,websocket,betfair,Ruby,Ssl,Tcp,Websocket,Betfair,类似于{“op”:“connection”,“connectionId”:“002-230915140112-174”} 但是我收到对等方的连接重置 表示远程端将发送重置数据包(RST)来终止连接,而无需有序关闭(close)。在这种情况下,您知道它是对等方(客户机) 包括betfair,也包括 非常感谢您的帮助。谢谢 首先,应将字符串“443”替换为整数: require 'socket' socket = TCPSocket.open('stream-api.betfair.com', '4

类似于
{“op”:“connection”,“connectionId”:“002-230915140112-174”}

但是我收到对等方的
连接重置

表示远程端将发送重置数据包(RST)来终止连接,而无需有序关闭(close)。在这种情况下,您知道它是对等方(客户机)

包括betfair,也包括


非常感谢您的帮助。谢谢

首先,应将字符串“443”替换为整数:

require 'socket'
socket = TCPSocket.open('stream-api.betfair.com', '443') 
while line = socket.gets
  puts line.chop
end
socket.close
无论如何,它似乎与SSL协商有关:下面的Stackoverflow文章给出了一个关于什么工作的快速想法:。使用这种方法,我工作

TCPSocket.open('stream-api.betfair.com', 443)
结果:

require 'socket'
require 'openssl'

host = 'stream-api.betfair.com'
port = 443

socket = TCPSocket.open(host,port)
ssl_context = OpenSSL::SSL::SSLContext.new()
ssl_context.ssl_version = :SSLv23
ssl_socket = OpenSSL::SSL::SSLSocket.new(socket, ssl_context)
ssl_socket.sync_close = true
ssl_socket.connect
while line = ssl_socket.gets
  p line
end
ssl_socket.close
使用Ruby处理SSL/TLS保护的连接有时相当冗长。在您给出的示例中,在NodeJS中,提示是第一行:

"{\"op\":\"connection\",\"connectionId\":\"001-151118094105-259478\"}\r\n"
var tls = require('tls');