1: <?php
2: class SocketServer
3: {
4: const WS_MAX_CLIENTS = 100;
5: const WS_MAX_CLIENTS_PER_IP = 15;
6: const WS_TIMEOUT_RECV = 10;
7: const WS_TIMEOUT_PONG = 5;
8: const WS_MAX_FRAME_PAYLOAD_RECV = 100000;
9: const WS_MAX_MESSAGE_PAYLOAD_RECV = 500000;
10: const WS_FIN = 128;
11: const WS_MASK = 128;
12: const WS_OPCODE_CONTINUATION = 0;
13: const WS_OPCODE_TEXT = 1;
14: const WS_OPCODE_BINARY = 2;
15: const WS_OPCODE_CLOSE = 8;
16: const WS_OPCODE_PING = 9;
17: const WS_OPCODE_PONG = 10;
18: const WS_PAYLOAD_LENGTH_16 = 126;
19: const WS_PAYLOAD_LENGTH_63 = 127;
20: const WS_READY_STATE_CONNECTING = 0;
21: const WS_READY_STATE_OPEN = 1;
22: const WS_READY_STATE_CLOSING = 2;
23: const WS_READY_STATE_CLOSED = 3;
24: const WS_STATUS_NORMAL_CLOSE = 1000;
25: const WS_STATUS_GONE_AWAY = 1001;
26: const WS_STATUS_PROTOCOL_ERROR = 1002;
27: const WS_STATUS_UNSUPPORTED_MESSAGE_TYPE = 1003;
28: const WS_STATUS_MESSAGE_TOO_BIG = 1004;
29: const WS_STATUS_TIMEOUT = 3000;
30: public $wsClients = array();
31: public $wsClientsExt = array();
32: public $wsRead = array();
33: public $wsClientCount = 0;
34: public $wsClientIPCount = array();
35: public $wsOnEvents = array();
36: function wsStartServer($host, $port) {}
37: function wsStopServer() {}
38: function wsCheckIdleClients() {}
39: function wsAddClient($socket, $clientIP) {}
40: function wsRemoveClient($clientID) {}
41: function wsGetNextClientID() {}
42: function wsGetClientSocket($clientID) {}
43: function wsProcessClient($clientID, &$buffer, $bufferLength) {}
44: function wsBuildClientFrame($clientID, &$buffer, $bufferLength) {}
45: function wsCheckSizeClientFrame($clientID) {}
46: function wsProcessClientFrame($clientID) {}
47: function wsProcessClientMessage($clientID, $opcode, &$data, $dataLength) {}
48: function wsProcessClientHandshake($clientID, &$buffer) {}
49: function wsSendClientMessage($clientID, $opcode, $message) {}
50: function wsSendClientClose($clientID, $status=false) {}
51: function wsClose($clientID) {}
52: function wsSend($clientID, $message, $binary=false) {}
53: function log( $message )
54: {}
55: function bind( $type, $func )
56: {}
57: function unbind( $type='' )
58: {}
59: }
60: ?>