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