Chinaunix首页 | 论坛 | 博客
  • 博客访问: 723673
  • 博文数量: 90
  • 博客积分: 803
  • 博客等级: 准尉
  • 技术积分: 1041
  • 用 户 组: 普通用户
  • 注册时间: 2012-05-24 13:42
文章分类

全部博文(90)

文章存档

2020年(4)

2019年(4)

2018年(9)

2017年(11)

2016年(11)

2015年(6)

2014年(3)

2013年(28)

2012年(14)

分类: PHP

2016-04-06 15:26:55

php服务端代码

异步发送广播消息模式

点击(此处)折叠或打开

  1. <?php
  2. $serv = new swoole_websocket_server("192.168.86.72", 9502);
  3. $serv->set(array(
  4.    'task_worker_num' => 4
  5. ));
  6. $serv->on('Open', function($server, $req) {
  7.     echo "connection open: ".$req->fd;
  8. });
  9. $serv->on('Message', function($server, $frame) {
  10.     $task_id = $server->task($frame->data);
  11.     echo "message: ".$frame->data;
  12.     //foreach($server->connections as $fd) {
  13.     // $server->push($fd, $frame->data);
  14.     //}
  15. });
  16. $serv->on('Close', function($server, $fd) {
  17.     echo "connection close: ".$fd;
  18. });

  19. $serv->on('Task', function ($server, $task_id, $from_id, $data) {
  20.     echo "New AsyncTask[id=$task_id]".PHP_EOL;
  21.     foreach($server->connections as $fd) {
  22.         $server->push($fd, $data);
  23.     }
  24.     $server->finish("send OK");
  25. });
  26. $serv->on('Finish', function ($serv, $task_id, $data) {
  27.     echo "AsyncTask[$task_id] Finish: $data".PHP_EOL;
  28. });
  29. $serv->start();


js客户端代码

点击(此处)折叠或打开

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4.   <title></title>
  5.   <meta charset="UTF-8">
  6.   <script type="text/javascript">
  7.   var exampleSocket = new WebSocket("ws://192.168.86.72:9502");
  8.   exampleSocket.onopen = function (event) {
  9.     exampleSocket.send("服务器连接成功!");
  10.   };
  11.   exampleSocket.onmessage = function (event) {
  12.     console.log(event.data);
  13.     document.getElementById('main').innerHTML = document.getElementById('main').innerHTML + "
    "
    + event.data;
  14.   }
  15.   </script>
  16. </head>
  17. <body>
  18. <input type="text" id="username">
  19. <input type="text" id="content">
  20. <button onclick="exampleSocket.send( document.getElementById('content').value )">发送</button>
  21. <div id='main'>
  22. </div>
  23. </body>
  24. </html>

阅读(4488) | 评论(0) | 转发(0) |
0

上一篇:常用命令汇总

下一篇:immvv PHP 守护进程类

给主人留下些什么吧!~~