## 客户端测试 **1. 在 Web 应用中生成一个 sessionid ,用于测试代码中的会话。** 修改 `apps/httpd/controllers/IndexController.php` 文件的默认动作,代码如下: ~~~ // 默认动作 public function actionIndex() { \Mix::app()->session->set('userinfo', ['uid' => 1008, 'name' => '小明']); return \Mix::app()->session->getSessionId(); } ~~~ 在浏览器中访问将得到一个 `sessionid` 值。 **2. 启动 mix-websocketd 服务。** ~~~ mix-websocketd service start ~~~ **3. 修改下面代码的 ip / port / sessionid 这些值,另存为一个 HTML 文件,在 Chrome 调试模式的 Console 窗口中调试。** ~~~ <html> <head> <title>WebSocket</title> </head> <body> <script> var webSocket = function () { ws = new WebSocket("ws://192.168.181.131:9502?session_id=M1WqwAlYmp1bVUkuB6cVUlD2Rq"); 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('{"event":"joinRoom","params":{"room_id":88888}}'); ~~~ 会收到以下响应: ~~~ 收到服务端的消息:{"callback":"joinRoom","data":{"message":"小明 加入房间"}} 收到服务端的消息:{"callback":"joinRoom","data":{"message":"我 加入房间"}} ~~~ >[success] 发送消息给用户范例代码测试。 在 Console 窗口中输入: ~~~ ws.send('{"event":"messageEmit","params":{"to_uid":1008,"message":"Hello World"}}'); ~~~ 会收到以下响应: ~~~ 收到服务端的消息:Hello World ~~~