Существует около миллиарда способов сделать это. Не могли бы вы опубликовать больше о том, какую проблему вы пытаетесь решить, или каков контент / цель / размер / формат / и т.д. из сообщений должно быть? Вы создаете что-то «по-настоящему» или просто пытаетесь научиться сетевому программированию?
Кроме того, у вас уже есть материал нижнего слоя? У вас есть настройка сетевой инфраструктуры, назначенные IP-адреса и т. Д.? Если нет, вам нужно пройти через это. Получив это, вы можете начать с учебника по базовому программированию сокетов на Ruby , но - в зависимости от ответов на поставленные выше вопросы - вы можете не захотеть «накатывать свое» решение на этом уровне. Ответом может быть использование сервера XMPP (Jabber) и использование клиентской библиотеки XMPP, или вы можете развернуть что-то вроде ActiveMQ , HornetQ , и т.д. и использовать библиотеку для взаимодействия с этим. Или, может быть, вы хотите использовать HTTP и передавать сообщения в формате JSON, XML или $ WHATEVER. Короче говоря, в этой области МНОГО вариантов.