class SOCKSSocket
SOCKS 是一种互联网协议,它通过代理服务器在客户端和服务器之间路由数据包。如果支持 SOCKS5,它还会提供身份验证,以便只有授权用户才能访问服务器。
公共类方法
new(host, port) → socket 点击切换源代码
通过 SOCKS 服务器打开到 host
的 SOCKS 连接。
SOCKS 服务器配置因实现而异
当使用 Dante libsocks/libsocksd 实现时,它配置为 SOCKS_SERVER 环境变量。
请参阅:manpages.debian.org/testing/dante-client/socksify.1.en.html 以获得完整的环境变量支持。
static VALUE socks_init(VALUE sock, VALUE host, VALUE port) { static int init = 0; if (init == 0) { SOCKSinit("ruby"); init = 1; } return rsock_init_inetsock(sock, host, port, Qnil, Qnil, INET_SOCKS, Qnil, Qnil, Qfalse, Qnil); }
公共实例方法
close() 点击切换源代码
关闭 SOCKS 连接。
static VALUE socks_s_close(VALUE sock) { rb_io_t *fptr; GetOpenFile(sock, fptr); shutdown(fptr->fd, SHUT_RDWR); return rb_io_close(sock); }