alexkratky/php-socketio

PHP class to with Socket.io.

v1.0.0 2020-05-14 08:56 UTC

This package is auto-updated.

Last update: 2024-04-14 17:31:05 UTC


README

Class to work with realtime socket (Socket.io).

Installation

composer require alexkratky/php-socketio

Usage

require 'vendor/autoload.php';

use AlexKratky\PHPSocketIO;
$ip = "localhost";
$port = 8000;
$password = "password";
$secured = true; //https?
$channel = "room1";
$data = array(
    "ID" => 1,
    "name" => "Alex"
);

$socket = new PHPSocketIO($ip, $port, $password, $secured);
$socket->sendData($channel, $data);

NodeJS implementation

You can get inspired by NodeJS implementation by here. In general, you need to handle HTTP POST requests.

var fs = require('fs');
var http = require('http');
var bodyParser = require("body-parser");
var express = require('express');
var app = express();
var port = 8000;

var urlencodedParser = bodyParser.urlencoded({ extended: false });
var webServer = http.createServer(app);
var io = require('socket.io').listen(webServer, { log: false });

app.post('/', urlencodedParser, function (req, res) {
    if (!req.body) return res.sendStatus(400);
    var post = req.body;
    if (post.password == config.password) {
        io.emit(post.channel, JSON.parse(post.data));
        res.send('true');
    } else {
        res.sendStatus(400);
    }
});