Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time


An easy-to-use WebSocket server class implemented in PHP.

How to use

The main file WebSocketServer.php has to be included in your PHP file. After that, create a custom class which extends to WebSocketServer. For a test implementation, see exampleServer.php. Make sure to run the script in the PHP command-line interface. An example on Windows with XAMPP could be

  • D:\XAMPP\php\php.exe -f "D:\XAMPP\htdocs\PHP-WebSocketServer\example.php" .

The following list shows possible class properties ( property : [type] - [default] [- Comment] )

1. Methods

Name Arguments Comment
Log $M displays $M in the console and / or saves $M in the logfile
Start starts the server; until then, any option can still be configured
Close $Socket closes a connection and cleans up the Clients + Sockets arrays
Write $SocketID, $M automatically encodes $M and sends it to socket $SocketID

2. Properties

Name Type Default Comment
Sockets Array array() contains every sockets as follows : $SocketID => $Socket
logToFile Boolean false
logFile String log.txt path to logfile; only used if logToFile = true
logToDisplay Boolean true if true, Log() output will be displayed in console
bufferLength Number 2048 number of bytes to be read from each socket
maxClients Number 20 number of sockets / clients to be opened simultaneously maximum
errorReport Number E_ALL
timeLimit Number 0
implicitFlush Boolean true

3. Custom methods - the following methods may be changed by your extending class

Name Arguments executed after...
onOpen $SocketID ...a successul handshake
onData $SocketID, $M ...a message ($M) has been received (on socket $SocketID)
onClose $SocketID ...a connection to a socket has been closed
onError $SocketID, $M ...a critical error; $M includes additional information; connection to socket has been closed
onOther $SockerID, $M ...a non-critical warning; the connection is still active
onOpening $SocketID ...a socket has been accepted and added to the public Sockets and private Clients array


An easy-to-use WebSocket server class implemented in PHP.






No releases published


No packages published