Вы могли бы хотеть смотреть на это (использование MySQL как хранилище значения ключа):
Имя хоста
Простой способ получить имя хоста в Ruby:
require 'socket'
hostname = Socket.gethostname
Уловка в том, что это зависит от хоста, который знает свое собственное имя, потому что он использует либо gethostname
или uname
системный вызов, поэтому он не будет работать для исходной проблемы.
Функционально это идентично ответу hostname
, без вызова внешней программы. Имя хоста может быть или не быть полным, в зависимости от конфигурации машины.
IP-адрес
Начиная с ruby 1.9, вы также можете использовать библиотеку Socket для получения списка локальных адресов. ip_address_list
возвращает массив объектов AddrInfo . То, как вы выберете, будет зависеть от того, что вы хотите сделать и сколько у вас интерфейсов, но вот
Просто альтернатива, использующая сопоставление с образцом:
loop(#s{reference = Reference} = State) ->
receive
{response, Reference} ->
do_something()
end.