работа с сокетами на PHP аналогично Node.js - PullRequest
0 голосов
/ 03 ноября 2018

Я только что скачал и запустил очень простое Node.js приложение чата:

https://github.com/socketio/chat-example

Работает нормально.

Код сервера очень прост:

var app = require('express')();
var http = require('http').Server(app);
var io = require('socket.io')(http);
var port = process.env.PORT || 3000;

app.get('/', function(req, res){
  res.sendFile(__dirname + '/index.html');
});

io.on('connection', function(socket){
  socket.on('chat message', function(msg){
    io.emit('chat message', msg);
  });
});

http.listen(port, function(){
  console.log('listening on *:' + port);
});

Теперь мой вопрос: возможно ли сделать что-то подобное с PHP?

Я слышал о:

https://www.swoole.co.uk

https://github.com/swoole/swoole-src

https://reactphp.org

https://github.com/reactphp/socket

любой другой фреймворк?

Но я не знаю, хорошая ли это и стабильная альтернатива?

Спасибо!

1 Ответ

0 голосов
/ 03 ноября 2018

Есть библиотека под названием Ratchet , о которой я знаю. Но по моему опыту, это не очень хорошо работает. Если вы пытаетесь установить соединение через сокет, вам всегда следует использовать только технологии, которые его очень хорошо поддерживают, например NodeJs

Можно вызвать сервер NodeJS (экспресс) из вашего PHP, используя запрос curl, и заставить сервер NodeJS подключаться через сокет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...