物联网通讯之Swoole创建Websocket服务器,一切从简单开始

2022-10-11 21:43:41 123 0
魁首哥

昨天的文章讲述了如何利用Workerman创建Websocket实时通讯服务器,今天我们来说说如何利用 Swoole 创建Websocket服务器。

Swoole与Websocket的相同点在于,两者都是跑在PHP-cli模式下。但本质上有很大的区别。Websocket是纯PHP编写的通讯框架,而Swoole则是PHP的一个扩展。布署会有所区别,应用时则非常相似。

那么做通讯应用时该选哪一个呢?其实是没有一个很明确的说法。主要还是看你当前的业务模式、未来业务的发展方向以及规模,当然跟你业务的架构也有关系,小搜就不随便推荐了。毕竟最适合自己的就是最好的。

接下来我们展开正题:

一、安装Swoole扩展

#!/bin/ bash 
pecl install swoole
 

正常情况下,键入命令后,就能进入自动安装流程。但这里需要注意的是如果安装的swoole4,需用的 gcc 编译器版本为4.8+。

二、创建websocket服务

创建一个websocket.php,并编辑其内容如下:

server  = new swoole_websocket_server("127.0.0.1", 9502);
$server->on(' open ',  function ($server, $req) {
 echo "connection open: {$req->fd}\n";
});
$server->on(' message ', function($server, $frame) {
 echo "received message: {$frame->data}\n";
 $server->push($frame->fd, json_encode(["hello", "world"]));
});
$server->on(' close ', function($server, $fd) {
 echo "connection close: {$fd}\n";
});
$server->start();
 

三、调试webocket

从上图可以看出,测试结果正常。

好啦,这期就到这里啦,喜欢小搜的同学们,请持续关注哦。后面会继续为大家带来更实用的知识。

收藏
分享
海报
0 条评论
123
上一篇:MySQL 插入数据 下一篇:浅谈有栈协程与无栈协程

本站已关闭游客评论,请登录或者注册后再评论吧~

忘记密码?

图形验证码