|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
25.05.2017, 12:49 | #1 |
Пользователь
Регистрация: 10.04.2017
Сообщений: 66
|
Web Socket
Не могу разобраться с вебсокетом. Прочитал кучу постов, но так ничего и не понял.
Клиентская часть: Код HTML:
var host, webSocket; host=location.host; webSocket = new WebSocket('ws://'+host+':8000/websocket.php'); webSocket.onopen = function() { console.log("Соединение установлено."); }; webSocket.onclose = function(event) { if (event.wasClean) { console.log('Соединение закрыто чисто'); } else { console.log('Обрыв соединения'); } }; webSocket.onmessage = function(event) { console.log("Получены данные " + event.data); }; webSocket.onerror = function(error) { console.log("Ошибка " + error.message); }; понял только что в начале файла нужно написать PHP код:
Дальше по идеи надо создать сокет PHP код:
PHP код:
|
25.05.2017, 13:23 | #2 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
я тоже не специалист в данной области, но остановился на выборе для сервера PHPDaemon - дока, скачать
работает под Ubuntu/Linux и требует установленного >= PHP 5.5 может очень много всего (куча встроенных серверов, сервисов и клиентов). Ещё под него нужно писать специальные приложения для обработки запросов. Разобраться с ним не получилось. Но даже базовые вещи (из хелпа и интернета) успешно работают - см.статью 2010 года на Хабре А ещё в Интернетах пишут, что если нужен WebServer, то нужно использовать на сервере полноценный Websocket server (например, Ratchet - PHP WebSockets) или node.js c клиентом и сервером WebSocket, ещё тут можно посмотреть, выбрать - список Comet Server а вообще, серверная часть - это самое замороченное. и как раз проблема с PHP в том, что PHP не предназначен для постоянной работы - его цель - запуститься, обработать запрос и закончить работу. всякие зацикливания кода приводят к утечкам памяти и отключению серверной части. Последний раз редактировалось Serge_Bliznykov; 25.05.2017 в 13:31. |
25.05.2017, 13:36 | #3 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
вебсокет это отдельный протокол. Нельзя просто писать туда что попало по TCP. Вы ж на HTTP запросы не так отвечаете?
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
26.05.2017, 11:11 | #4 |
Пользователь
Регистрация: 10.04.2017
Сообщений: 66
|
Тогда другой вопрос. Я создал тестовую БД и сделал запрос до создания сокета. Запись на добавляется, коннекта не происходит. Могу объяснить это только тем что запрос не доходит до файла. Нужна ли какая то настройка apacha или в другом проблема?
|
26.05.2017, 11:31 | #5 |
Старожил
Регистрация: 25.02.2007
Сообщений: 4,177
|
как малые дети, её богу.... какую бд создал, для чего, какой запрос сделал, куда - откуда? какого файла?
тот код что привели не будет у вас работать... websocket это не совсем сокет в том понимании что вы используете, это надстройка так сказать ... там есть реализация поддержки протокола... вам дело говорят - про создание демонов и библиотек под них |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
<socket type='xml'/> ИЛИ <socket type='json'/> зашифровываются пакеты TCP | ArtGrek | Общие вопросы Web | 2 | 10.02.2017 23:17 |
Приглашаем на работу Web-программистов/web- разработчиков ЗП от 100.000р | torispb | Паскаль, Turbo Pascal, PascalABC.NET | 5 | 08.10.2014 00:45 |
Требуется web-программист, web-верстальщик и web-дизайнер | OlgaBB | Фриланс | 0 | 12.08.2013 18:59 |