Пытаюсь использовать tftp инета, но что-то делаю не так. Этот простой пример приложения, хотя и привязывается к правильному порту, никогда не возвращает данные клиенту.
Для воспроизведения откройте терминал в корне проекта и:
make && ./bin/console
Это должно загрузить приложение tftp_hellp и перебросить вас в оболочку erlang. Убедитесь, что inets работает:
1> application:which_applications().
[{inets,"INETS CXC 138 49","5.9"},
{sasl,"SASL CXC 138 11","2.2.1"},
{stdlib,"ERTS CXC 138 10","1.18.1"},
{kernel,"ERTS CXC 138 10","2.15.1"}]
и что демон tftp запущен:
2> inets:services().
[{tftpd,<0.56.0>},{httpc,<0.50.0>}]
Большой. Теперь, если вы посмотрите в etc/inets.config
, вы заметите, что мы привязываем tftpd к 6969. Откройте другой терминал и:
> tftp localhost 6969
tftp> get hello.txt
Transfer timed out.
Беспокоить. Если бы мое понимание tftpd было правильным — а это явно не так — мы бы получили <<"hello world">>
обратно.
Что я делаю не так?