Курс языка программирования Raku / Функциональное, конкурентное, реактивное и веб-программирование / Веб-программирование / Удалённые соединения

Открытие сокета

Сокет — это соединение между двумя программами по сети. Основной класс Raku для TCP-сокетов — IO::Socket::INET, и ничего дополнительно устанавливать для него не нужно.

Чтобы подключиться к удалённому серверу, создайте сокет с нужными хостом и портом:

my $conn = IO::Socket::INET.new(:host('raku.org'), :port(80));
say 'connected';
$conn.close;

IO::Socket::INET.new открывает соединение немедленно. Порт 80 — стандартный порт для HTTP, поэтому здесь мы подключаемся к веб-серверу на raku.org. Когда работа закончена, .close освобождает соединение.

Этому примеру для работы нужно действующее сетевое соединение. При успешном подключении он печатает connected.

Один и тот же класс используется в двух режимах: как клиент, подключающийся к серверу, — как показано здесь, — и как сервер, ожидающий входящих соединений (это вы увидите позже). Пока же главная мысль такова: IO::Socket::INET.new(:host, :port) даёт вам живой двусторонний канал к другой машине.

Практика

Пройдите 1 тест по содержанию этой темы.

Навигация по курсу

Удалённые соединения   |   Тест — Сокеты


💪 Или перейдите сразу к упражнениям этого раздела.