1 месяц назад
Пишем свой мессенджер на PHP
Эта статья предназначена для тех кто уже знает или начинает учить PHP, Но также человек далёкий от программирования может написать свой мессенджер если просто будет следовать инструкциям. Для начала давайте объясню что такое WebSocket, простыми словами это тоже самое что и AJAX (http) только тут Клиент (Фронтенду) подключается к Серверу (Бэкенду) и не разрывает соединение а соединение остаётся активным, и мы можем отправлять запросы сколько угодно и сервер тоже. То-есть сервер может на наш запрос не отвечать а мы просто отправлять и наоборот можем вез порядочно отправлять друг другу запросы...
Исполнение NodeJS через функции PHP WebSocket https://gubin.systems/2024/02/28/ispolnenie-nodejs-cherez-funkcii-php-websocket.html Для выполнения Node.js через PHP с использованием WebSocket, вам необходимо установить пакет «Ratchet» — это библиотека PHP для создания WebSocket-серверов. После этого вы сможете создать WebSocket-сервер на PHP, который будет общаться с клиентом, работающим на Node.js. Вот пример кода для создания WebSocket-сервера на PHP с использованием Ratchet. 1. Установка Ratchet с помощью Composer: composer require cboden/ratchet 2. Создание WebSocket сервера на PHP: run(); 3. Сам класс WebSocket сервера может выглядеть примерно так: clients = new \SplObjectStorage; } public function onOpen(ConnectionInterface $conn) { $this->clients->attach($conn); echo "New connection! ({$conn->resourceId})\n"; } public function onMessage(ConnectionInterface $from, $msg) { foreach ($this->clients as $client) { if ($client !== $from) { $client->send($msg); } } } public function onClose(ConnectionInterface $conn) { $this->clients->detach($conn); echo "Connection {$conn->resourceId} has disconnected\n"; } public function onError(ConnectionInterface $conn, \Exception $e) { echo "An error has occurred: {$e->getMessage()}\n"; $conn->close(); } } 4. Далее, в вашем Node.js клиентском приложении, вы можете использовать библиотеку «ws» для подключения к WebSocket-серверу на PHP. Пример клиентского кода на Node.js: const WebSocket = require('ws'); const ws = new WebSocket('ws://localhost:8080'); ws.on('open', function open() { ws.send('Hello from Node.js!'); }); ws.on('message', function incoming(message) { console.log('Received message from server:', message); }); Это лишь простой пример того, как можно запустить WebSocket-сервер на PHP с использованием Ratchet и подключиться к нему из Node.js приложения. Не забудьте настроить и защитить ваши соединения WebSocket для обеспечения безопасного и надежного взаимодействия между PHP и Node.js.
06:44
1,0×
00:00/06:44
320,3 тыс смотрели · 3 года назад