Форум больше не используется. Присоединяйтесь к каналу #community-ru в Slack for TYPO3 community |
05.01.2017, 23:54 | #1 |
Senior Member
Регистрация: 26.10.2007
Сообщений: 108
|
Typo3 7, Websockets и чашка кофе
Кофе на любителя..
Начнем, в связи с тем, что я потратил не одну чашку кофе и не одну пачку сигарет на понимание как запустить полноценные сокеты на Typo, решил, что стоит сэкономить время и здоровье всем нуждающимся. Что и откуда брать:
TYPO3 7.4-7.6!!! 8ку еще не ставил, а ниже версии уже нет. Ставим ZMQ для апача и composer в первую очередь: ZMQ на XAMPP так: libzmq.dll - php\ php_zmq.dll - php\ext + добавляем в php.ini Ставим Ratchet cmd > mysite composer requier cboden/retchat v0.3.5 composer requier react/zmq v0.3.0 Ждем.. Чистим Кэш и папку typo3Temp Ставим Websockets и правим. По порядку:
PHP код:
PHP код:
Собственно все, добавляем задачи в Scheduler и запускаем сервер! Если все ок, то вы увидите в консоле что коннект есть, но вот FE-User: false. В консоле можно отправить сообщение ws_conn.send(‘Hello Obama’); Правим аутентификацию юзеров. !Sic, для начало нужно залогиниться как FE User. !Sic2, если все равно fe-user: false, то у вас та же проблема что и у меня.. (Может касаться только локального хоста, нужно еще раз проверять на сервере.. а по симу далее ненужные строки комментируем, а не удаляем.) В чем проблема, а проблема в том, что $_SERVER не содержит REMOTE_HOST и HTTP_USER_AGENT, а без них проверка через EID сервис не работает. Вот и все. Ну ок, не работает и ладно, мы откроем свой луна-парк с блэк-джеком и тайскими трансвеститами. Делаем HOOK! \websockets\Classes\Hook\AuthFeUserHook.php Вписываем его в ext_localconf.php PHP код:
PHP код:
Остальные функции это немного модифицированные из AbstractUserAuthentication. Еще можно поправить \websockets\Classes\Service\Connection.php -> initFeUser($connection) Убираем лишнее (комментируем) PHP код:
И так, что мы можем теперь? Не много… например чат. Делаем PUSH Код HTML:
В шапке сайта ставим ссылку на скрипт <script src="http://autobahn.s3.amazonaws.com/js/autobahn.min.js"></script> Комментируем наш \Websockets\Classes\ ServerCommand.php, и делаем копию. И приводим acton_start к виду: PHP код:
Далее, делаем $pusher = new \MyApp\Pusher; Сохраняете куда пожелаете, главное namespace если меняете то и тут так же меняйте. PHP код:
PHP код:
Шлем аджакс запрос на запуск нашей аджакс функции и в консоле увидем: Object {category: "kittensCategory", title: "test", article: "test test test"} Что может быть не так: 1. Сообщение приходит через раз, проверяем ZMQ пробуем разные версии. 2. Не коннектится, у меня было из за кривых ручек, не ту версию autobhn использовал, или порты не те. Собственно все, спасибо за внимание.
__________________
Фанат TYPO! |
09.01.2017, 18:29 | #2 | |
Senior Member
Регистрация: 17.09.2012
Сообщений: 675
|
Цитата:
https://typo3.org/extensions/reposit...q=chat&tx_solr[filter][extensionMinTYPO3Version]=&tx_solr[filter][extensionMaxTYPO3Version]= Почему эти расширения не подошли? "В чем разница между socket'ом и websocket'ом?" http://ru.stackoverflow.com/question...et%D0%BE%D0%BC Последний раз редактировалось Николай Сипко; 09.01.2017 в 18:57 |
|
11.01.2017, 13:11 | #3 |
Senior Member
Регистрация: 26.10.2007
Сообщений: 108
|
Может и подошло бы, да только мне не чат нужен.. мне нужен был голый Сокет.
На базе сокетов у меня нотификация, обновления активных элементов (например локальных курсов валют, которые обновляются каждые 5 мин и хранятся в базе), биллинговая нотификация, букинги в режиме онлайн.. короче, много своих экстеншенов, которые используют одно сервисное приложение как сервер, в котором есть пара разных сокетов.
__________________
Фанат TYPO! |
11.01.2017, 16:37 | #4 | |
Senior Member
Регистрация: 17.09.2012
Сообщений: 675
|
Цитата:
|
|
31.01.2017, 14:16 | #5 |
Senior Member
Регистрация: 26.10.2007
Сообщений: 108
|
Ну как сказать))) Проект весь на Typo3.. думаю по этому.
__________________
Фанат TYPO! |
31.01.2017, 15:59 | #6 |
Senior Member
Регистрация: 17.09.2012
Сообщений: 675
|
WebSocket — протокол полнодуплексной связи (может передавать и принимать одновременно) поверх TCP-соединения, предназначенный для обмена сообщениями между браузером и веб-сервером в режиме реального времени. В настоящее время в W3C осуществляется стандартизация API Web Sockets.
https://ru.wikipedia.org/wiki/WebSocket TYPO3 (тайпо три) — система управления сайтами (CMS/CMF) с открытым исходным кодом и свободной лицензией. Является гибкой расширяемой системой с большим количеством модулей и функций. Написана на PHP, для хранения данных использует любую реляционную базу данных, поддерживаемую TYPO3 DBAL, включая MySQL, Oracle Database, PostgreSQL и другие. Работает на таких серверах, как Apache или IIS, и на большинстве операционных систем, таких как Linux, Microsoft Windows, FreeBSD, Mac OS X и OS/2. Система создана Каспером Скорхёем и распространяется бесплатно под лицензией GNU GPL. https://ru.wikipedia.org/wiki/TYPO3 TYPO3 использует LAMP (серверные порты, технологии и операционные системы), но не задает их свойства |
Опции темы | |
Опции просмотра | |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
На что это могут указывать следующие нотации? | Faab | Общие вопросы | 6 | 25.11.2014 17:04 |
T3CON12DE - Community, the TYPO3 family and Neos | RSS Bot | Новости TYPO3 (на английском) | 0 | 16.10.2012 20:10 |
T3CON12DE - Community, the TYPO3 family and Neos | RSS Bot | Новости TYPO3 (на английском) | 0 | 16.10.2012 13:47 |
T3CON12DE - Community, the TYPO3 family and Neos | RSS Bot | Новости TYPO3 (на английском) | 0 | 15.10.2012 20:10 |
T3CON12DE - Community, the TYPO3 family and Neos | RSS Bot | Новости TYPO3 (на английском) | 0 | 15.10.2012 16:06 |