Прослушиватели каналов Coldfusion Websocket

Я играю с веб-сокетами Coldfusion и пытаюсь следовать это руководство. Однако я не могу заставить часть прослушивателя канала работать для: «HelloWorld - Версия 2: использование прослушивателя канала».

У меня код в приложении правильный, но я думаю, что он не может найти cfclistener.

this.wschannels = [ {name="world", cfclistener="myChannelListener" }];

У меня есть cfc, сделанный с помощью beforePublish, чтобы добавить время, но он не работает. Я использую CFWheels и просто помещаю прослушиватель каналов cfc в папку контроллеров. Я пробовал приведенный выше код с различными вариантами, такими как:

  • controllers/myChannelListener
  • /controllers/myChannelListener
  • controllers.myChannelListener
  • .controllers.myChannelListener

.. даже пробуя путь с диска C:

  • C:/Projects/myproject/controllers/myChannelListener

но все они не работают. Я почти уверен, что это проблема пути. Кто-нибудь знает, как указать путь cfclistener?


person Guest    schedule 10.06.2013    source источник


Ответы (3)


Хотя я не использую CFWHEELS, у меня также были проблемы с запуском второго примера. Последние два изменения, которые я сделал до того, как это сработало:

  1. Открыл МВ администратором. сервисы> веб-сокеты (отмечено «Включить службу WebSocket», отмечено «использовать встроенный сервер веб-сокетов»)
  2. Перезапустил CF с помощью cfstart.bat (находится в CF_install_directory/cfusion/bin)

По крайней мере, я могу подтвердить, что пример, представленный в статье, работает с некоторой возней.

person developer snail    schedule 16.11.2017
comment
Привет. Я искал более 2 часов и, наконец, нашел это решение. спасибо! - person Cristian Agudelo; 13.07.2018

Скорее всего, это связано с тем, что перезапись URL-адреса CFWheels не позволяет напрямую привязываться к CFC.

Попробуйте поместить CFC в папку miscellaneous и посмотреть, работает ли оттуда. Если это так, вы можете либо оставить его там, либо создать подпапку по своему выбору и исключить ее из перезаписи URL-адресов.

Обратите внимание, что если это сработает и вы выберете маршрут, вы будете полностью за пределами структуры CFWheels в рамках своего myChannelListener CFC.

person Chris Peters    schedule 19.06.2013

Обработчик событий не использует файл application.cfc вашего сайта. Таким образом, ваше приложение cfwheels даже не вступает в игру. Путь к обработчику cfclistener должен быть обозначен точкой через точку от корня приложения.

Видеть:

https://learn.adobe.com/wiki/display/coldfusionen/Использование+WebSocket+для+трансляции+сообщений

Прокрутите вниз до «Использование функций прослушивания каналов».

person Dave Ferguson    schedule 05.08.2013