Главная » О криптовалютах » WebSocket с серверной частью на php – Stack Overflow на русском

WebSocket с серверной частью на php – Stack Overflow на русском

Демоны биткоин выбираются наружу: все из-за программы SegWit2x

Доброго времени суток, пытаюсь разобраться с вебсокетами, а именно с серверной его частью на php. С клиентской все просто:

А вот с серверной. Перечитал кучу постов на хабре, тут, да и не только. Но никак не могу понять, для чего нужен phpDeamon или Ratchet, и в каких случаях они нужны? И в тени для меня осталось как их устанавливать на реальный хостинг, везде разговор ведется о установке на локальные серверы типа denwer или openserver. Просветите пожалайста

Обычное построение веба основано на архитектуре “клиент-сервер”. Т.е. есть клиентские машины, а есть сервера, которые ожидают запросы от клиентов, обрабатывают эти запросы и отправляют обратно клиенту. В Вашем случае клиентом выступает браузер. Он может общаться с каким-либо вебсервером (в большинстве случаем эту роль выполняет apache в связке с php) по одному из протоколов (языков обмена по сети). Как правило, это HTTP. Т.е. Вы отправляете из браузера HTTP-запрос, вебсервер его обрабатывает и отправляет обратно. Но можно обращаться и по другому протоколу (языку обмена) – websocket. Это отдельный протокол обмена, не имеющий ничего общего с HTTP. Опять же, клиентом в Вашем случае выступает браузер. Но вот незадача. нужен еще и сервер, который примет запрос, обработает его и вернет обратно по тому же протоколу. А обычный вебсервер не понимает этого “языка”. Обычный вебсервер понимает только HTTP. Поэтому необходимо установить и запустить любой другой сервер (не обязательно должен быть phpDeamon), который будет принимать и обрабатывать запросы именно по протоколу websocket.

Что касается хостинга, то хостинг хостингу рознь. Но если Вы возьмете VPS да еще и с Win, то, по сути, получите в свои руки компьютер, на котором можете делать все, что душе угодно (можете при желании даже и denwer и openserver поставить). Ну а как пользоваться компьютером, думается, объяснять не нужно.

Ratchet, phpDaemon, Workerman и т.д. – это библиотеки, которые помогают создавать сервер (в вашем случае Websocket) в несколько десятков строк, просто реализовав предоставленный интерфейс библиотекой (onClose, onOpen, onMessage, onError) и работая с функциями, которые написаны уже до вас.

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

Нет, конечно вы можете это написать сами и использовать вместо нескольких строчек собственную библиотеку, но у вас уйдет много времени, ведь вам нужно разбираться в тонкостях протокола, в процессе handshake, передаче заголовков, отправке сообщений, написать различные функции, обработку клиентов, потратить время на отладку. А тут все написано до вас.

Что подразумевается под реальным хостингом? Если shared, то вряд-ли (из-за ограничений, но лучше уточнить у хостера, на VPS точно получится).

Пример реализации сервера на Rachet, есть на github библиотеки Rachet

О admin

Оставить комментарий

Ваш email нигде не будет показанОбязательные для заполнения поля помечены *

*

x

Check Also

Стоит ли инвестировать в Ethereum, Kriptinfo

Стоит ли инвестировать в Ethereum? Сегодня многие задают вопрос ;Стоит ли инвестировать в Ethereum? ;. Точного ответа никто не знает, в том числе и мы. ...