Соединение стандартного ввода / вывода через TCP-сокет - PullRequest
1 голос
/ 02 октября 2011

Я хочу написать скрипт, который выполняет следующие действия:

  1. Начать прослушивание произвольно доступного TCP-порта localhost.
  2. Запустить определенную внешнюю программу, передав номер порта в видеАргумент.
  3. Примите одно соединение с сокетом сервера.
  4. Отправьте стандартный вход скрипта в сокет и вывод сокета на стандартный вывод.
  5. Выход при внешнем подключенииПрограмма закрывается.

Идеальным решением будет сценарий оболочки, использующий некоторые достаточно стандартные инструменты, поэтому, если кто-нибудь сможет придумать способ сделать это, что ж, это будет идеальный ответ.Если это окажется неразрешимым, реализация Ruby будет для меня удобной.Если это не удастся, я возьму любую работоспособную реализацию.

PS Я довольно новичок здесь, поэтому, пожалуйста, дайте мне знать, если этот вопрос слишком общий или не относится к какой-либо другой причине (возможно, "пожалуйста, внедрите X для меня "нахмурился?).

Ответы [ 2 ]

1 голос
/ 02 октября 2011

Возможно, обратите внимание на инструмент командной строки socket , а также на инструменты командной строки, такие как socat, ncat (google для "Ncat for Netcat Users") и программу sock Ричарда Стивенса (см. Привязка к порту с netpipes / netcat ).

1 голос
/ 02 октября 2011

Вы пробовали netcat? И слушатель и клиент могут быть сделаны с помощью nc.

...