Для меня проблема была в том, что у меня не было файла модуля basic_echo_callback, потому что я установил yaws, используя репозиторий пакетов, а не создавал источник формы.
Ошибка была очевидна, если запуск yaws в интерактивном режиме ´yaws -i´:
=ERROR REPORT==== 7-Dec-2016::21:33:49 ===
Cannot load callback module 'basic_echo_callback': nofile
=ERROR REPORT==== 7-Dec-2016::21:33:49 ===
Failed to start websocket process: nofileq
Это в значительной степени мой процесс с нуля в Ubuntu 16.01:
sudo apt install yaws
cd ~
mkdir yaws
cd yaws
mkdir src
cd src
cd src wget https://github.com/klacke/yaws/raw/master/examples/src/basic_echo_callback.erl
cd ..
mkdir www
cd www
wget https://raw.githubusercontent.com/klacke/yaws/master/www/websockets_example_endpoint.yaws
wget http://yaws.hyber.org/websockets_example.yaws
cd ..
#set-up server config file...
vim yaws.conf
Моя выглядит так:
src_dir = /home/pocketsand/yaws/src
<server localhost>
port = 8000
listen = 127.0.0.1
docroot = /home/pocketsand/yaws/www
</server>
Убедитесь, что конечная точка правильна в клиенте:
vim www/websockets_example.yaws
...
Остановите сервер, если он уже запущен, и запустите сервер с помощью 'yaws -i' и перейдите к: http://localhost:8000/websockets_example.yaws
Это работает, потому что каждый разСервер загружает файл конфигурации, он скомпилирует все модули в указанном каталоге src.Если для других функций отсутствуют другие модули, их также необходимо загрузить.