phpsocket.io使用
安装
请使用composer集成phpsocket.io
composer require workerman/phpsocket.io
脚本中引用vendor中的autoload.php实现SocketIO相关类的加载。例如
require_once ‘/你的vendor路径/autoload.php’;
服务端和客户端连接
创建一个SocketIO服务端
项目根目录创建start.php
文件
<?php
require_once __DIR__.'/vendor/autoload.php';
use Workerman\Worker;
use PHPSocketIO\SocketIO;$io =new SocketIO(3120);$io->on('connection',function ($scoket)use($io){echo "connection success".PHP_EOL;
});
Worker::runAll();
客户端
引入socket.io.js
<input type="text" value="" id="text">
<button id="tt">点击</button>
<script src="jquery.min.js"></script>
<script src='https://cdnjs.cloudflare.com/ajax/libs/socket.io/2.3.0/socket.io.js'></script>
<script>$(function () {var socket= io('http://127.0.0.1:3120');socket.on('connect',function(){alert(123)})})
</script>
- 启动服务端
php start.php
自定义事件
socket.io主要是通过事件来进行通讯交互的
socket连接除了自带的connect,message,disconnect三个事件以外,在服务端和客户端开发者可以自定义其它事件
服务端和客户端都通过emit方法触发对端的事件
例如我们绑定一个say
事件
服务端
<?php
require_once __DIR__.'/vendor/autoload.php';
use Workerman\Worker;
use PHPSocketIO\SocketIO;$io =new SocketIO(3120);$io->on('connection',function ($scoket)use($io){$scoket->on('say',function ($say)use($io){$io->emit('say','接收到:'.$say);});
});
Worker::runAll();
客户端
<script src="jquery.min.js"></script>
<script src='https://cdnjs.cloudflare.com/ajax/libs/socket.io/2.3.0/socket.io.js'></script>
<script>$(function () {var socket= io('http://127.0.0.1:3120');socket.emit('say','hello world')socket.on('say',function (say) {alert(say)})})
</script>
$io是SocketIO对象。$socket是客户端连接
$data可以是数字和字符串,也可以是数组。当$data是数组时,客户端会自动转换为javascript对象。
同理如果客户端向服务端emit某个事件传递的是一个javascript对象,在服务端接收时会自动转换为php数组。
phpsocket.io使用相关推荐
- 基于socket.io的php扩展介绍---phpsocket.io
工具地址:https://github.com/walkor/phpsocket.io phpsocket.io是由workerman根据socket.IO扩展的用于php服务端通讯组件,后台服务用w ...
- php socket laravel,Laravel整合PHPSocket.Io实现web消息推送
PHPSocket.IO ,PHP跨平台实时通讯框架 PHPSocket.IO是 PHP 版本的Socket.IO服务端实现,基于workerman开发,用于替换node.js版本Socket.IO服 ...
- php给客户端发广播,phpsocket.io如何向一个组广播?
server.php $io = new SocketIO(3120,$context); $io->on('connection', function($socket)use($io){ $s ...
- push msg php_基于web-msg-sender进行消息推送
简介 web-msg-sender是一款web长连接推送框架,采用PHPSocket.IO开发,基于WebSocket长连接通讯,如果浏览器不支持WebSocket则自动转用comet推送. 通过后台 ...
- 写给刚入门的前端工程师的前后端交互指南
转自原文 写给刚入门的前端工程师的前后端交互指南 作为刚接触前端的不久的童鞋,大家都会兴奋于CSS和JS所带来漂亮界面,然而,前端工程师除了UI重构外,还有非常重要的职责在正确的区域渲染出服务端的数据 ...
- php workerman demo,workerman-demo
php版本 workerMan 要求 PHP Version >= 5.3.3,但是因为业务代码使用了常量数组,所以需要 PHP Version >= 7.0 命令 代码部署(通过git) ...
- php websocket 实战,一次WebSocket项目实战后总结的经验
项目需求(部分) 宴会参与者微信扫码进入游戏进行签到,签到后头像出现在大屏幕上,经过数轮抽奖最终决出3位终极大奖获奖者.获奖者扫码进入赛跑页面,摇动手机跑步.大屏幕上实时显示3位获奖者的头像和跑步进度 ...
- Notadd 2.0 全新 Node.js 版本~ (开发中) [从 PHP 到 node 的踩坑记]
对于 Notadd 我们本来期望它实现更多... 尽管我们也尝试做了很多努力,但是由于 PHP 本身的局限,以及考虑到开发环境配置的复杂程度,最终使用了折中方案. 接下来,我们谈谈整个技术选型历程, ...
- 收集整理一些常用的PHP类库, 资源以及技巧. 以便在工作中迅速的查找所需...
学习资源 PHP相关的有参考价值的社区,博客,网站,文章,书籍,视频等资源 PHP网站(PHP Websites) PHP The Right Way - 一个PHP实践的快速参考指导 PHP Bes ...
最新文章
- 百度的云智一体,让视频变得“硬核性感”
- springmvc+mybatis+mysql+maven
- 炸!业界难题,跨库分页的几种常见方案
- 修改android virtual device路径
- [转]matlab 函数三种定义方式
- Linux的软件包封装格式有,linux软件安装包详解---全
- Symbol Mc1000 快捷键 的 设置 事件 开发
- CentOS7 安装Redis Cluster集群
- ASP.NET2.0入门经典(第4版)—3.5 服务器控件的类型(2)--zt
- 【论文研读】【金融】Predicting the direction of stock market prices using random forest
- Storm实践2-【storm实时排序TopN】 - TOP10
- 通过日志审计追踪外部***
- python读写csv与数据库性能_使用python将csv文件写入SQL Server数据库
- python利用什么写模块_python模块是什么?写法及作用分析
- pyqt5 加载gif_PyQt5:在Qmovi中重新加载gif
- 云科技网络验证源码_【原创】酸酸云科技-网络验证界面版注册机注入工具 V3.2...
- word如何删除空行和全角空格_word中如何去掉空格和空行
- html字母上方加箭头,html5怎么在图片上加左右箭头
- Linux命令 - head命令
- 32、Java——迷你图书管理器(对象+JDBC)