Skip to content

Latest commit

 

History

History
117 lines (68 loc) · 3.19 KB

README.md

File metadata and controls

117 lines (68 loc) · 3.19 KB

phpWebSocketServer

NO DEPENDENCIES

Server written in PHP to handle connections via websocksets wss:// or ws://
and normal sockets over ssl://

  • 2021-09-30 fixed ping/pong cycle to clients. $pingInterval to start pinging clients

  • 2021-09-28 echo back to client implemented

  • 2021-09-25 php script nac now talk to other script

  • 2021-??-?? Runtime parameters are now read from file specified with option
    -i <inifile> ; default is websock.ini in server directory

  • 2021-08-22 Server and client can now handle very long messages (>8192B)
    no longer need to use own buffer mechanism.

  • 2020-12-07 it works also with PHP 8.0

A detailed documentation is located here:

NO DEPENDENCIES

implemented by

WebSocketServer is based on the implementation in PHP by

The idea of *application classes' is taken from

See also https://tools.ietf.org/html/rfc6455

What is it good for ?

This server allows you to establish communication between web applications living in a browser
and enables backend scripts, in my case PHP, to communicate information back to web applications that have called the backend script to perform some action.

Clients receive a UUID from the server upon connection. If the web application triggers
backend scripts via AJAX it passes the UUID to the backend scripts. The script is now able to report
back to the web client by sending the UUID along with an opcode 'feedback' and other parameters to the server.
With the given UUID the server now knows to what web client to send the message. Loop closed !

See example in directory webClient

Installation

  • Transfer the director phpWebSocketServer to the documents root of your webserver

Configuration

Part 1

  • Step into the server directory and adapt the
  • websock.ini to your needs.
    You will find some documentation in this file.

Part 2

To start and use the server see the README in directory server

Directories

include

Files included by server and clients

Server

Implemention of a server in php and php script to start server.
Examples of classes to implement resources /php and /web

phpClient

Example of client written in PHP to connect and write to the server using resource /php

php2php

Example how to make one php script send messages to other php script via websocket

webClient

Example of web client to connect and communicate with the server using resource /web

websocketExtern

Conneting to external websocket servers to test client code

Some Numbers

  • Number of Files

  • 'php' => int 24

  • 'js' => int 2

  • Number of Lines of Code

  • 'php' => int 1950

  • 'js' => int 313

  • Size in KBytes

  • 'php' => float 59

  • 'js' => float 10