Ruby 2.4

SOCKSSocket

class SOCKSSocket

Parent:TCPSocket

SOCKS是一种Internet协议,它通过代理服务器在客户端和服务器之间路由数据包。SOCKS5(如果支持)还提供身份验证,因此只有授权用户才能访问服务器。

公共类方法

new(host, serv) → socket Show source

通过SOCKS服务器serv打开SOCKS连接。

static VALUE socks_init(VALUE sock, VALUE host, VALUE serv) { static int init = 0; if (init == 0) { SOCKSinit("ruby" init = 1; } return rsock_init_inetsock(sock, host, serv, Qnil, Qnil, INET_SOCKS }

new(host, serv) Show source

# File lib/resolv-replace.rb, line 72 def initialize(host, serv) original_resolv_initialize(IPSocket.getaddress(host), port) end

公共实例方法

close() Show source

关闭SOCKS连接。

static VALUE socks_s_close(VALUE sock) { rb_io_t *fptr; GetOpenFile(sock, fptr shutdown(fptr->fd, 2 return rb_io_close(sock }