Итак, в последнее время я пытался понять Socket.io, но я не супер-великий программист, и почти каждый пример, который я могу найти в Интернете (поверьте, я искал часами), содержит дополнительные вещи, которые усложняют ситуацию. Многие примеры делают кучу вещей, которые меня сбивают с толку, или подключаются к какой-то странной базе данных, или используют coffeescript или тонны JS-библиотек, которые загромождают вещи.
Мне бы хотелось увидеть базовый работающий пример, где сервер просто отправляет сообщение клиенту каждые 10 секунд, говоря, сколько сейчас времени, а клиент записывает эти данные на страницу или выдает предупреждение, что-то очень простое. Затем я могу разобраться во всем, что мне нужно, например, соединения с базами данных и т. Д. И да, я проверил примеры на сайте socket.io, и они не работают для меня, и я не понимаю, что они делают. .
Ответы:
Изменить: я считаю, что для всех лучше проконсультироваться с отличным примером чата на странице начала работы Socket.IO. С тех пор, как я дал этот ответ, API был значительно упрощен. При этом вот исходный ответ, обновленный small-small для нового API.
Просто потому, что мне сегодня хорошо:
index.html
app.js
источник
Вот мое представление!
если вы поместите этот код в файл с именем hello.js и запустите его с помощью узла hello.js, он должен распечатать сообщение hello, оно было отправлено через 2 сокета.
В коде показано, как обрабатывать переменные для приветственного сообщения, отправленного от клиента на сервер через раздел кода, помеченный // Зеркало.
Имена переменных объявляются локально, а не все вверху, потому что они используются только в каждом из разделов между комментариями. Каждый из них может находиться в отдельном файле и запускаться как отдельный узел.
источник
Может быть, это тоже может вам помочь. У меня возникли некоторые проблемы с тем, чтобы понять, как работает socket.io, поэтому я попытался максимально упростить пример.
Я адаптировал этот пример из примера, размещенного здесь: http://socket.io/get-started/chat/
Сначала начните с пустого каталога и создайте очень простой файл с именем package.json. Поместите в него следующее.
Затем в командной строке используйте npm для установки зависимостей, которые нам нужны для этого примера.
Это может занять несколько минут, в зависимости от скорости вашего сетевого подключения / ЦП / т. Д. Чтобы убедиться, что все прошло по плану, вы можете еще раз просмотреть файл package.json .
Создайте файл с именем server.js. Очевидно, это будет наш сервер, управляемый узлом. Поместите в него следующий код:
Создайте последний файл с именем index.html и поместите в него следующий код.
Теперь вы можете протестировать этот очень простой пример и увидеть результат, подобный следующему:
Если вы откроете веб-браузер и укажете ему имя хоста, на котором запущен процесс узла, вы увидите, что в вашем браузере появятся те же числа, что и в любом другом подключенном браузере, просматривающем ту же страницу.
источник
Я понимаю, что этому посту уже несколько лет, но иногда сертифицированным новичкам, таким как я, нужен рабочий пример, полностью урезанный до самой простой формы.
в каждом простом примере socket.io я мог найти задействованный http.createServer (). но что, если вы хотите добавить немного магии socket.io в существующую веб-страницу? вот самый простой и самый маленький пример, который я мог придумать.
это просто возвращает строку, переданную с консоли ЗАПИСАННЫМ ЗАПИСИ.
app.js
index.html:
бежать:
используйте что-то вроде этого теста порта, чтобы убедиться, что ваш порт открыт.
теперь перейдите по адресу http: //localhost/index.html и используйте консоль браузера для отправки сообщений обратно на сервер.
Лучше всего догадаться, что при использовании http.createServer он меняет за вас следующие две строки:
Я надеюсь, что этот очень простой пример избавит моих друзей-новичков от некоторых проблем. и обратите внимание, что я не стал использовать "зарезервированное слово" в именах определяемых пользователем переменных для моих определений сокетов.
источник
every simple socket.io example i could find involved http.createServer(). but what if you want to include a bit of socket.io magic in an existing webpage
ммм да ...var app = http.createServer(
- wutindex.html
index.js
И запустите эти команды для запуска приложения.
и открываем URL: -
http://127.0.0.1:3000/
Порт может быть другим. и вы увидите этот ВЫХОДисточник