1
1
#!/php -q
2
2
<?php
3
3
4
- require_once ("../vendor/autoload.php " );
4
+ // Set timezone of script to UTC inorder to avoid DateTime warnings in
5
+ // vendor/zendframework/zend-log/Zend/Log/Logger.php
6
+ date_default_timezone_set ('UTC ' );
5
7
8
+ require_once ("../vendor/autoload.php " );
6
9
7
- // Run from command prompt > php demo .php
10
+ // Run from command prompt > php chat .php
8
11
use Devristo \Phpws \Framing \WebSocketFrame ;
9
12
use Devristo \Phpws \Framing \WebSocketOpcode ;
10
13
use Devristo \Phpws \Messaging \WebSocketMessageInterface ;
14
17
use Devristo \Phpws \Server \WebSocketServer ;
15
18
16
19
/**
17
- * This demo resource handler will respond to all messages sent to /echo/ on the socketserver below
18
- *
19
- * All this handler does is echoing the responds to the user
20
- * @author Chris
21
- *
20
+ * This ChatHandler handler below will respond to all messages sent to /chat (e.g. ws://localhost:12345/chat)
22
21
*/
23
22
class ChatHandler extends WebSocketUriHandler {
24
23
@@ -55,13 +54,16 @@ public function onMessage(WebSocketTransportInterface $user, WebSocketMessageInt
55
54
$ writer = new Zend \Log \Writer \Stream ("php://output " );
56
55
$ logger ->addWriter ($ writer );
57
56
58
- // Create a WebSocket server and create a router which sends all user requesting /echo to the DemoEchoHandler above
57
+ // Create a WebSocket server
59
58
$ server = new WebSocketServer ("tcp://0.0.0.0:12345 " , $ loop , $ logger );
59
+ // Create a router which transfers all /chat connections to the ChatHandler class
60
60
$ router = new \Devristo \Phpws \Server \UriHandler \ClientRouter ($ server , $ logger );
61
61
$ router ->addRoute ('#^/chat$#i ' , new ChatHandler ($ logger ));
62
62
63
63
// Bind the server
64
64
$ server ->bind ();
65
65
66
66
// Start the event loop
67
- $ loop ->run ();
67
+ $ loop ->run ();
68
+
69
+ ?>
0 commit comments