安装

请使用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使用相关推荐

  1. 基于socket.io的php扩展介绍---phpsocket.io

    工具地址:https://github.com/walkor/phpsocket.io phpsocket.io是由workerman根据socket.IO扩展的用于php服务端通讯组件,后台服务用w ...

  2. php socket laravel,Laravel整合PHPSocket.Io实现web消息推送

    PHPSocket.IO ,PHP跨平台实时通讯框架 PHPSocket.IO是 PHP 版本的Socket.IO服务端实现,基于workerman开发,用于替换node.js版本Socket.IO服 ...

  3. php给客户端发广播,phpsocket.io如何向一个组广播?

    server.php $io = new SocketIO(3120,$context); $io->on('connection', function($socket)use($io){ $s ...

  4. push msg php_基于web-msg-sender进行消息推送

    简介 web-msg-sender是一款web长连接推送框架,采用PHPSocket.IO开发,基于WebSocket长连接通讯,如果浏览器不支持WebSocket则自动转用comet推送. 通过后台 ...

  5. 写给刚入门的前端工程师的前后端交互指南

    转自原文 写给刚入门的前端工程师的前后端交互指南 作为刚接触前端的不久的童鞋,大家都会兴奋于CSS和JS所带来漂亮界面,然而,前端工程师除了UI重构外,还有非常重要的职责在正确的区域渲染出服务端的数据 ...

  6. php workerman demo,workerman-demo

    php版本 workerMan 要求 PHP Version >= 5.3.3,但是因为业务代码使用了常量数组,所以需要 PHP Version >= 7.0 命令 代码部署(通过git) ...

  7. php websocket 实战,一次WebSocket项目实战后总结的经验

    项目需求(部分) 宴会参与者微信扫码进入游戏进行签到,签到后头像出现在大屏幕上,经过数轮抽奖最终决出3位终极大奖获奖者.获奖者扫码进入赛跑页面,摇动手机跑步.大屏幕上实时显示3位获奖者的头像和跑步进度 ...

  8. Notadd 2.0 全新 Node.js 版本~ (开发中) [从 PHP 到 node 的踩坑记]

    对于 Notadd 我们本来期望它实现更多...  尽管我们也尝试做了很多努力,但是由于 PHP 本身的局限,以及考虑到开发环境配置的复杂程度,最终使用了折中方案. 接下来,我们谈谈整个技术选型历程, ...

  9. 收集整理一些常用的PHP类库, 资源以及技巧. 以便在工作中迅速的查找所需...

    学习资源 PHP相关的有参考价值的社区,博客,网站,文章,书籍,视频等资源 PHP网站(PHP Websites) PHP The Right Way - 一个PHP实践的快速参考指导 PHP Bes ...

最新文章

  1. 百度的云智一体,让视频变得“硬核性感”
  2. springmvc+mybatis+mysql+maven
  3. 炸!业界难题,跨库分页的几种常见方案
  4. 修改android virtual device路径
  5. [转]matlab 函数三种定义方式
  6. Linux的软件包封装格式有,linux软件安装包详解---全
  7. Symbol Mc1000 快捷键 的 设置 事件 开发
  8. CentOS7 安装Redis Cluster集群
  9. ASP.NET2.0入门经典(第4版)—3.5 服务器控件的类型(2)--zt
  10. 【论文研读】【金融】Predicting the direction of stock market prices using random forest
  11. Storm实践2-【storm实时排序TopN】 - TOP10
  12. 通过日志审计追踪外部***
  13. python读写csv与数据库性能_使用python将csv文件写入SQL Server数据库
  14. python利用什么写模块_python模块是什么?写法及作用分析
  15. pyqt5 加载gif_PyQt5:在Qmovi中重新加载gif
  16. 云科技网络验证源码_【原创】酸酸云科技-网络验证界面版注册机注入工具 V3.2...
  17. word如何删除空行和全角空格_word中如何去掉空格和空行
  18. html字母上方加箭头,html5怎么在图片上加左右箭头
  19. Linux命令 - head命令
  20. 32、Java——迷你图书管理器(对象+JDBC)

热门文章

  1. CountDownTimer浅析
  2. python产生随机数序列_python产生随机数
  3. 【毕业季】走一步看一步?一个自动化er对大学四年的思考
  4. Matlab中的函数句柄@的基本用法
  5. 微信 天天爱消除 Lua无敌脚本
  6. HCNA Routingamp;Switching之OSPF缺省路由发布
  7. 国内首套IEC 61850标准的变电站自动化系统在南瑞出厂
  8. springboot使用flyway,使用介绍、个人总结及报错场景如何修改
  9. 城建税计算机代码6,【城建税的计算方法与城建税税率】- 环球网校
  10. 關於《生化兵器》這個老遊戲的安裝