-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathwebsocket.resources.php
More file actions
56 lines (43 loc) · 1.32 KB
/
websocket.resources.php
File metadata and controls
56 lines (43 loc) · 1.32 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
<?php
interface IWebSocketResourceHandler{
public function addUser(IWebSocketUser $user);
public function removeUser(IWebSocketUser $user);
public function onMessage(IWebSocketUser $user, IWebSocketMessage $msg);
public function onAdminMessage(IWebSocketUser $user, stdClass $msg);
public function setServer(WebSocketServer $server);
}
abstract class WebSocketResourceHandler implements IWebSocketResourceHandler{
/**
*
* Enter description here ...
* @var SplObjectStorage
*/
protected $users;
/**
*
* Enter description here ...
* @var WebSocketServer
*/
protected $server;
public function __construct(){
$this->users = new SplObjectStorage();
}
public function addUser(IWebSocketUser $user){
$this->users->attach($user);
}
public function removeUser(IWebSocketUser $user){
$this->users->detach($user);
}
public function setServer(WebSocketServer $server){
$this->server = $server;
}
public function say($msg =''){
return $this->server->say($msg);
}
public function send(IWebSocketUser $client, $str){
return $this->server->send($client, $str);
}
public function onMessage(IWebSocketUser $user, IWebSocketMessage $msg){}
public function onAdminMessage(IWebSocketUser $user, stdClass $msg){}
//abstract public function onMessage(WebSocketUser $user, IWebSocketMessage $msg);
}