swoole学习(二)----搭建server和client
2018-07-27 06:22:35来源:博客园 阅读 ()
1.搭建server
1.1搭建server.php
1.搭建websocket服务器,首先建立 server.php 文件,
1 <?php 2 $server = new swoole_websocket_server('0.0.0.0', 9502);// 创建swoole的websocket实例 其中 0.0.0.0 代表监听所有回路 包括127.0.0.1 和 192.168.*.* 和 外部IP, 端口是9502 3 4 //监听打开事件 5 $server->on('open', function ($server, $request){ 6 var_dump($request->fd, $request->get, $request->server); 7 $server->push($request->fd, "我是open\n"); 8 }); 9 10 //监听消息事件 11 $server->on('message', function ($server, $message){ 12 echo "Message: {$message->data}\n"; 13 $server->push($message->fd, "服务器给的: {$message->data}"); 14 }); 15 16 //监听关闭事件 17 $server->on('close', function ($server, $fd){ 18 echo "客户端: {$fd} 关闭了"; 19 }); 20 21 $server->start();
$server->push("客户端ID", "推送信息"); 这个方法是server向client推送信息的方法;
server 的 on 事件监听有 open : 连接成功事件
message : 收到信息事件
close : 客户端关闭事件
2.运行server.php文件 php server.php
2.搭建client
2.1 搭建client.html
1.创建client.html,主要使用 js 的 WebSocket()
1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>Title</title> 6 </head> 7 <body> 8 9 </body> 10 <script> 11 var wsServer = 'ws://192.168.33.10:9502'; 12 var websocket = new WebSocket(wsServer); 13 websocket.onopen = function (evt) { 14 console.log("连接到服务器"); 15 }; 16 17 websocket.onclose = function (evt) { 18 console.log("连接关闭"); 19 }; 20 21 websocket.onmessage = function (evt) { 22 console.log('收到服务器信息' + evt.data); 23 }; 24 25 websocket.onerror = function (evt, e) { 26 console.log('错误信息: ' + evt.data); 27 }; 28 </script> 29 </html>
2.参数说明: var wsServer = 'ws://192.168.33.10:9502';
ws: 代表使用websocket协议
ip地址 是server的地址
3.监听事件 onopen : 客户端连接到服务器的时候触发
onclose : 客户端关闭的时候触发
onmessage : 收到服务器信息的时候触发
onerror : 发生错误的时候触发,包括连接错误,发送、接收信息的时候出现错误触发
3.测试连接
3.1客户端连接
输出正常
3.2服务器连接
输出正常!
4.总结
swoole的 websocket 服务器搭建成功,当客户端请求服务器的时候,客户端执行了onopen事件,触发了console.log,服务器端当client连接的时候,触发了onopen,打印了fd,和客户端请求头信息;
这样就搭建成功了server和client实时双工通信! 可以做一个实时聊天室,或者弹幕系统,以后慢慢学习!
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
下一篇:小说采集学习交流
- 详解php中的implements 使用 2020-03-18
- PHPExcel如何读取Excel文件 2020-03-10
- PHP实现的折半查询算法示例 2020-02-17
- 如何关闭PHP错误提示 2020-02-10
- 常用的Stream函数集 2020-02-10
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash