加入收藏 | 设为首页 | 会员中心 | 我要投稿 衡阳站长网 (https://www.0734zz.cn/)- 数据集成、设备管理、备份、数据加密、智能搜索!
当前位置: 首页 > 服务器 > 搭建环境 > Linux > 正文

使用swoole进行消息推送通知,配合vb.net进行客户端开发一样爽[

发布时间:2021-01-19 09:04:16 所属栏目:Linux 来源:网络整理
导读:在以前的项目中,就曾听说过swoole的大名,想用来进行消息推送,但是当时只是有了初步的了解,并不敢大胆的运用到线上产品。所谓?识不足则多虑,威不足则多怒、所以就是怕,只能跟领导说了运用极光的推送功能,而且还说出了一定的理由,领导自然也只有相信了

<span style="color: #000000;"> }
<span style="color: #008000;">//<span style="color: #008000;">connect action
<span style="color: #0000ff;">function my_onConnect (<span style="color: #800080;">$serv,<span style="color: #800080;">$fd<span style="color: #000000;">){
<span style="color: #0000ff;">echo "Client:Connect. id:{<span style="color: #800080;">$fd}n"<span style="color: #000000;">;
}
<span style="color: #008000;">//<span style="color: #008000;">close action
<span style="color: #0000ff;">function my_onClose (<span style="color: #800080;">$serv,<span style="color: #800080;">$fd<span style="color: #000000;">) {
<span style="color: #0000ff;">echo "Client: Close. id:{<span style="color: #800080;">$fd}n"<span style="color: #000000;">;
}
<span style="color: #008000;">//<span style="color: #008000;">broadcast except me,只会广播from_id相同的用户,再研究了
<span style="color: #0000ff;">function broadcast(swoole_server <span style="color: #800080;">$serv,<span style="color: #800080;">$fd = 0,<span style="color: #800080;">$data = "hello"<span style="color: #000000;">)
{
<span style="color: #800080;">$start_fd = 0<span style="color: #000000;">;
<span style="color: #800080;">$sendNum = 0<span style="color: #000000;">;
<span style="color: #0000ff;">echo "broadcast to "<span style="color: #000000;">;
<span style="color: #800080;">$from = "From Client[<span style="color: #800080;">$fd]:"<span style="color: #000000;">;
<span style="color: #0000ff;">while(<span style="color: #0000ff;">true<span style="color: #000000;">)
{
<span style="color: #800080;">$conn_list = <span style="color: #800080;">$serv->connection_list(<span style="color: #800080;">$start_fd,10<span style="color: #000000;">);
<span style="color: #0000ff;">if(<span style="color: #800080;">$conn_list === <span style="color: #0000ff;">false<span style="color: #000000;">)
{
<span style="color: #0000ff;">break<span style="color: #000000;">;
}
<span style="color: #008080;">var_dump(<span style="color: #800080;">$conn_list<span style="color: #000000;">);
<span style="color: #800080;">$start_fd = <span style="color: #008080;">end(<span style="color: #800080;">$conn_list<span style="color: #000000;">);
<span style="color: #0000ff;">foreach(<span style="color: #800080;">$conn_list <span style="color: #0000ff;">as <span style="color: #800080;">$conn<span style="color: #000000;">)
{
<span style="color: #0000ff;">if(<span style="color: #800080;">$conn === <span style="color: #800080;">$fd) <span style="color: #0000ff;">continue<span style="color: #000000;">;
<span style="color: #800080;">$ret1 = <span style="color: #800080;">$serv->send(<span style="color: #800080;">$conn,<span style="color: #800080;">$from . <span style="color: #800080;">$data<span style="color: #000000;">);
<span style="color: #800080;">$sendNum ++<span style="color: #000000;">;
}
}
<span style="color: #0000ff;">echo <span style="color: #800080;">$sendNum . ' numbers.'<span style="color: #000000;">;
}

  记得把它跑起来哦

/bin/php test_tcp_server.php

  第三步,你可以编写一个客户端程序,也可以不用编写,因为其他工具也完全可以连接进行的呢!如果要定,可以参考swoole官网的tcp_client代码,如下:

on("connect",(->send("hello worldn"->on("receive",(, "Received: ".."n"->on("error",( "Connect failedn"->on("close",( "Connection closen" ->connect('127.0.0.1',9501,0.5);

  正常的话,运行这个脚本,你就可以收到消息了如:

  第四步、你肯定不满足于使用php语言去连接服务器端,你当然不应该满足!你还可以使用windows的cmd命令行嘛,如下:

telnet .

使用swoole进行消息推送通知,配合vb.net进行客户端开发一样爽[

使用swoole进行消息推送通知,配合vb.net进行客户端开发一样爽[

然后,你会发现,怎么只输入了一个字符就发送了。原因是什么win的telnet协议之类的,使用send命令,就可以了。操作为:按键 ctrl + ] ,进入telnet 命令行模式,输入send aaaddd

使用swoole进行消息推送通知,配合vb.net进行客户端开发一样爽[

ok,多开几个客户端,看起来会话就可以了呢(要查看返回的内容,直接按Enter键即可,切换回来使用ctrl + ]),来看看服务端都什么样子吧:

使用swoole进行消息推送通知,配合vb.net进行客户端开发一样爽[

都是有响应的吧,ok了,现在再试试一个功能,send @10 hello,10,you ok ? ,则另一个客户端就收到消息了

使用swoole进行消息推送通知,配合vb.net进行客户端开发一样爽[

ok,到此为止,基本上测试完成了。但是使用cmd毕竟看起来不爽,于是想到用vb.net去实现一个客户端。代码就简要的贴出来,看看吧。

(编辑:衡阳站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读