Spec-Zone.ru › Ruby 3.1

класс SOCKSSocket

Родитель:
TCPSocket

SOCKS — это интернет-протокол, который маршрутизирует пакеты между клиентом и сервером через прокси-сервер. SOCKS5, если поддерживается, дополнительно предоставляет аутентификацию, чтобы только авторизованные пользователи могли получить доступ к серверу.

Публичные методы класса

new(host, port) → socket Показать исходный код
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);
}

Открывает соединение SOCKS с host через SOCKS-сервер.

Настройка SOCKS-сервера зависит от реализации.

При использовании реализации Dante libsocks/libsocksd она настраивается как переменная среды SOCKS_SERVER.

См.: manpages.debian.org/testing/dante-client/socksify.1.en.html для полной поддержки переменных среды.

new(host, serv) Показать исходный код
# File lib/resolv-replace.rb, line 73
def initialize(host, serv)
  original_resolv_initialize(IPSocket.getaddress(host), port)
end

Публичные методы экземпляра

close() Показать исходный код
static VALUE
socks_s_close(VALUE sock)
{
    rb_io_t *fptr;

    GetOpenFile(sock, fptr);
    shutdown(fptr->fd, 2);
    return rb_io_close(sock);
}

Закрывает соединение SOCKS.

Ruby Core © 1993–2022 Yukihiro Matsumoto
Licensed under the Ruby License.
Ruby Standard Library © contributors
Licensed under their own licenses.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API