2013-06-10 6 views
0

Я играю с веб-сайтами Coldfusion и стараюсь следовать this tutorial. Тем не менее, я не могу представить, что часть слушателя канала работает: «HelloWorld - Version 2: Использование прослушивателя каналов».Coldfusion Websocket Channel Listeners

У меня есть код в приложении правильно, но я думаю, что он не может найти 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?

ответ

0

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

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

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

0

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

См:

https://learn.adobe.com/wiki/display/coldfusionen/Using+WebSocket+to+broadcast+messages

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

0

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

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

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