Comments (4)
Здравствуйте. С юникс-сокетами потенциально много проблема (права и т.д.), по этому рекомендую использовать дефолтный конфиг из первого чата:
$config = array(
'class' => 'ChatWebsocketDaemonHandler',
'pid' => '/tmp/websocket_chat.pid',
'websocket' => 'tcp://127.0.0.1:8000',
'localsocket' => 'tcp://127.0.0.1:8010',
//'master' => 'tcp://127.0.0.1:8020',
//'eventDriver' => 'event'
);
И первый и второй чат использует вторую версию библиотеки, отличие межу чатами в том, что для второго чата нужно запуск двух скриптов (мастер и воркер), что можно использовать для масштабирования (1 мастер и много воркеров).
Рекомендую использовать первый чат, он проще заводится: https://github.com/morozovsk/websocket/tree/master/samples/chat
from websocket.
Большое спасибо за столь оперативный ответ!
Сейчас у меня в настройках:
'websocket' => 'tcp://домен:8000'
С внешних серверов все прекрасно работает.
Но когда я пытаюсь передать локально на сокет данные, чтобы отправить их всем подключенным клиентам - скрипт долго загружается, при этом ничего не происходит, и я не получаю никаких ошибок на сервере. Использую данный скрипт:
$fp = stream_socket_client("tcp://домен:8000", $errno, $errstr, 30);
if (!$fp) {
echo "$errstr ($errno)
\n";
} else {
fwrite($fp, "vsem privet"."\r\n");
while (!feof($fp)) {
echo fgets($fp, 1024);
}
fclose($fp);
}
В чем может быть проблема?
Вообще, мне нужно передать данные, получаемые при помощи гет-запроса, всем подключенным к сокету, может есть какой-то иной способ?
from websocket.
в конфиге нужно добавить:
'localsocket' => 'tcp://127.0.0.1:8010'
и открывать соединение на него, потому что при подключении к 'websocket' => 'tcp://домен:8000'
также нужно добавить обработчик сообщений на локальном сокете.
Например этот будет рассылать всем клиентам вебсокета сообщения полученные по локальному сокету:
protected function onServiceMessage($connectionId, $data) {
foreach ($this->clients as $clientId => $client) {
$this->sendToClient($clientId, $data);
}
}
Я использую этот обработчик в примере с интеграции с yii-фреймворком:
https://github.com/morozovsk/websocket/blob/master/samples/yii/protected/components/WebsocketDaemonHandler.php
from websocket.
Огромное спасибо, все заработало!
from websocket.
Related Issues (20)
- Как подружить с pg_notify HOT 4
- GenericEvent считывает не весь буфер HOT 2
- список онлайн юзеров HOT 8
- Отправка изображения через вебсокет
- Работа в Safari HOT 1
- wss timeot HOT 17
- stream_select(): supplied argument is not a valid stream resource HOT 7
- Не закрывает соединение при окончании на сайте HOT 4
- Как сделать многопоточность? HOT 6
- request response order HOT 1
- Можно ли создавать комнаты? HOT 12
- PHP Client HOT 3
- Один конект по сокету на несколько вкладок HOT 2
- Потраченное время на разработку. HOT 4
- Не сбрасываются коннекты HOT 12
- "Залипает" при слишком длинном handshake-сообщение (режим event) HOT 4
- websocket lunch on remote host HOT 1
- Ошибка при остановке HOT 2
- Каково потребление памяти и cpu при нагрузке в 100 000 соединений? HOT 4
- Почему бросили? HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from websocket.