Связь между процессами является простым способом использования вывода первого процесса в качестве ввода для других процессов. Такой же концепт можно реализовать в Go, к примеру, чтобы связать данные из одного сокета с другим сокетом, создавая связь через туннель. В данной инструкции показано, как создать туннель с помощью использование встроенной библиотеки от Go.

Как создать туннель между процессами записи и чтения в Go?

1. Создайте файл pipe.go со следующим содержимым:

Премиум 👑 канал по Golang

Рекомендуем вам супер TELEGRAM канал по Golang где собраны все материалы для качественного изучения языка. Удивите всех своими знаниями на собеседовании! 😎

Подписаться на канал

Уроки, статьи и Видео

Мы публикуем в паблике ВК и Telegram качественные обучающие материалы для быстрого изучения Go. Подпишитесь на нас в ВК и в Telegram. Поддержите сообщество Go программистов.

Go в ВК ЧАТ в Telegram

2. Запустите код через go run pipe.go;
3. Посмотрите на результат в терминале:

Как работает созданный туннель из io.Pipe()

Функция io.Pipe() создает туннель внутренней памяти и возвращает оба конца туннеля, с одной стороны PipeReader и с другой стороны PipeWriter. Каждый процесс записи в PipeWriter блокируется, пока он не поглощается процессом чтения на другом конце.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *