Node.js: подключение к серверу с помощью сокетов

Сегодня я только начинаю играть с Node.js и подумал, что начну с простого сценария: подключение к серверу через сокеты, отправка небольшого количества данных и получение их обратно. Я создаю утилиту командной строки. Ничего в браузере.

Примером сервера может служить memcached, beanstalkd и т. Д. Кажется, что модуль net является подходящим инструментом для этой работы, но я все еще немного не уверен в способе работы Node.js. Некоторая помощь будет оценена.

Обновление № 1

Дайте мне посмотреть, смогу ли я разбить это на пару небольших вопросов. Я ненавижу даже задавать подобные вопросы, но документация по Node.js очень скудная, и большая часть документации, написанной 6 месяцев назад, уже устарела.

1) Так что я могу использовать net.stream.write () для отправки данных на удаленный сервер, но я не знаю, как получить ответ. Я даже не уверен, как проверить, когда write () закончен, потому что он не принимает обратный вызов.

2) Несколько подсказок о том, как все это работает, было бы здорово. Я думаю, что это действительно ключевой камень, который я скучаю во всем этом.

Обновление № 2

Вот где я до сих пор запутался в реализации клиентской программы. Позвольте мне представить типичную систему отправки запроса => получить ответ:

1) Я привязываю обратные вызовы к сетевому модулю для получения ответов и других событий, включая необходимые привязки для получения ответа от сервера.

2) Я использую stream.write () для отправки запроса на сервер.

3) Я тогда ничего не делаю, потому что мое связанное событие «data» получит ответ от сервера.

Вот где все становится сложнее. Предположим, я вызываю stream.write ()дважды до того, как будет вызвано мое связанное событие «data» Теперь у меня проблема. Когда происходит событие «data», как мне узнать, на какой из 2 запросов он отвечает? Я гарантированно, что ответы будут проходить в том же порядке, что и запросы? Что делать, если ответы возвращаются в другом порядке?

Ответы на вопрос(1)

Ваш ответ на вопрос