首先,应该将字符串“443”替换为整数:
TCPSocket.open('stream-api.betfair.com', 443)
How to establish a SSL enabled TCP/IP Connection in Ruby
. 使用这种方法,我工作。
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
结果:
"{\"op\":\"connection\",\"connectionId\":\"001-151118094105-259478\"}\r\n"
使用Ruby处理SSL/TLS保护的连接有时相当冗长。在您给出的示例中,在NodeJS中,提示是第一行:
var tls = require('tls');