## 客户端测试 >[danger] ws 必须与 www 在同一域名下,ws 才能正常获取 session 数据,请配置域名后再测试 **1. 在 Web 应用 (www.test.com) 中生成一个 sessionid ,用于测试代码中的会话。** 修改 `applications/http/src/Controllers/IndexController.php` 文件的默认动作,代码如下: ~~~ // 默认动作 public function actionIndex() { app()->session->set('uid', 1008); app()->session->set('name', '小明'); return app()->session->getSessionId(); } ~~~ 在浏览器中访问将得到一个 `sessionid` 值。 **2. 启动 mix-websocketd 服务。** ~~~ ./mix-websocketd service start -c ../applications/websocket/config/websocketd.php ~~~ **3. 将下面代码另存为一个 HTML 文件,在 Chrome 调试模式的 Console 窗口中调试。** ~~~ <html> <head> <title>WebSocket</title> </head> <body> <script> var webSocket = function () { ws = new WebSocket("ws://www.test.com/websocket"); ws.onopen = function() { console.log("连接成功"); }; ws.onmessage = function(e) { console.log("收到服务端的消息:" + e.data); }; ws.onclose = function() { console.log("连接关闭"); }; }; webSocket(); </script> </body> </html> ~~~ **4. 开始测试** >[success] 加入房间范例代码测试。 在 Console 窗口中输入: ~~~ ws.send('{"method":"join.room","params":{"roomid":1010},"id":1}'); ~~~ 会收到以下响应: ~~~ 收到服务端的文本消息:{"result":{"message":" 加入 1010 房间."},"id":1} ~~~ >[success] 发送消息给用户范例代码测试。 在 Console 窗口中输入: ~~~ ws.send('{"method":"message.emit","params":{"message":"hidfsdfsdfasdfsdfasdfasdfasdfasdfsdf"},"id":2}'); ~~~ 会收到以下响应: ~~~ 收到服务端的文本消息:{"result":{"message":"hidfsdfsdfasdfsdfasdfasdfasdfasdfsdf"},"id":2} ~~~