php swoole

原理:发送消息客户端-》接收消息服务端-,发送消息服务端-》接收消息客户端

服务端接收信息:https://www.swoole.com/ webservice

<?php
$server = new swoole_websocket_server("0.0.0.1", 9502);//接收所有请求的IP信息

$server->on('open', function($server, $req) {//当客户端连接时,触发事件
    echo "connection open: {$req->fd}\n";
});

$server->on('message', function($server, $frame) {//当客户端发送消息时,执行事件
    echo "received message: {$frame->data}\n";//接收的信息
foreach($server->connections as $fd)//循环所有连接服务器的连接
{
$server->push(fd,$frame->data);//发送给每一个客户端信息 
 } 
echo "当前服务器共有 ".count($server->connections). " 个连接\n";
 
 $server->on('close', function($server, $fd)//断开服务器
{
echo "connection close: {$fd}\n";
});

$server->start();//开始发送
 

 


客户端发送信息:http://www.runoob.com/html/html5-websocket.html

<!DOCTYPE HTML>
<html>
   <head>
   <meta charset="utf-8">
   <title>菜鸟教程(runoob.com)</title>
    
      <script type="text/javascript">
         function WebSocketTest()
         {
            if ("WebSocket" in window)
            {
               alert("您的浏览器支持 WebSocket!");
               
               // 打开一个 web socket
               var ws = new WebSocket("ws://localhost:9998/echo");//域名:端口
                
               ws.onopen = function()//判断是否连接到服务器事件
               {
                  // Web Socket 已连接上,使用 send() 方法发送数据
                  ws.send("发送数据");
                  alert("数据发送中...");
               };
                
               ws.onmessage = function (evt) 
               { 
                  var received_msg = evt.data;
                  alert("数据已接收...");
               };
                
               ws.onclose = function()
               { 
                  // 关闭 websocket
                  alert("连接已关闭..."); 
               };
            }
            
            else
            {
               // 浏览器不支持 WebSocket
               alert("您的浏览器不支持 WebSocket!");
            }
         }
      </script>
        
   </head>
   <body>
   
      <div id="sse">
         <a href="javascript:WebSocketTest()">运行 WebSocket</a>
      </div>
      
   </body>
</html>

客户端接收信息:同上,修改成接收信息的页面

 

posted @ 2018-12-06 16:21  星云惊蛰  阅读(82)  评论(0)    收藏  举报