美文网首页让前端飞前后端知识交流分享
聊聊PHP+webSocket业务处理方案,学到就是你的。

聊聊PHP+webSocket业务处理方案,学到就是你的。

作者: 茶艺瑶 | 来源:发表于2019-11-04 19:33 被阅读0次

首先Socket这个方案都很多种,webSocket也是其中的一种通信方案。在以前的PHP总,做这一项的事情是非常痛苦。虽然现在有了好多选择,比如Swoole还有Workerman等,可是一堆回调你能忍?由于Socket很多PHP框架都不太成熟,可是websocket这个协议到时帮了php不少问题。

我现在属于的团队前后端各站一半,在技术选型上也纠结了一点时间。我到底是选择Socket.io的php版本还是直接Socket.io的node.js版本。

指导Omi的作者说出了,腾讯文档是用 Socket.io这话,我突然回想起,网易云音乐、金十数据、imgur等运营的技术都是Socket.io,至于为什么这样,PHP做什么事情最擅长?答案无疑:WEB开发,创业公司的急救包。
让很多企业前期可以实现大吉大利,年终吃鸡的美梦。那么web的数据传输过程中,json是标配,那么是处理json最拿手?无疑是JavaScript。所以node.js的Socket.io无疑是最好的选择。

图中网易云使用的0.9.16的版本,已经能运行这么多年了,可见性能强悍,而且有成熟的分布式组件方案,可以横向扩展,性能不是瓶颈问题。

image.png

我先聊聊,项目业务之间是如何处理。
这是最简单和最理想的一种情况。

image.png

但是我们后端代码是php,api数据接口层也是php。用的是laravel。laravel和socket.io是两个程序,而且现在的php的websocket客户端只要Swoole享用。

那么我们要怎么处理呢??这里我们需要用到是laravel的异步消息队列和爬虫原理。

这时候我们PHP这边的处理方式是以下方式。

image.png

我们会在php制作一个页面来做渲染,在异步队列用把消息通过爬虫的原理把ws激活。页面内容如下。

<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport"
          content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>
<body>

</body>
</html>
<script src="{{asset('/static/lib/socket/socket.io.js')}}"></script>
<script>
    var socket = io('{{env('WEB_SOCKET_URL')}}');

    socket.emit('{{$event}}',{!! $data !!});

</script>

为什么做异步,而不是同步呢?因为异步跑得是另一条线程,用户可以做其他事情,别人收到消息,回你做说吧,你平时和别人聊天的时候,也不会一直静静看着聊天框吧?

相关文章

  • 聊聊PHP+webSocket业务处理方案,学到就是你的。

    首先Socket这个方案都很多种,webSocket也是其中的一种通信方案。在以前的PHP总,做这一项的事情是非常...

  • 人脸识别考勤门禁软件四大模块业务功能

    人脸识别考勤门禁软件四大模块业务功能 考勤方案处理中主要包括基础数据设置和考勤业务处理。具体功能如下: A...

  • Spring的事务控制

    一、Spring的事务控制 分层开发,事务处理位于业务层,Spring提供了分层设计业务层的事务处理解决方案。 S...

  • 多机器并行处理的业务方案

    最近遇到的问题,可以总结是一个递进深入的过程,觉得有价值记录整理下。简单介绍下需求背景:有个定时执行的任务,每天早...

  • 从一个电商平台的库存同步谈性能优化和方案落地

    目录 背景库存同步相关概念库存流转过程 方案问题分析头脑风暴确定方案细化方案 实施业务精简和标准化优化消息处理的逻...

  • 大数据入门学习

    常用处理方案 对于大量数据的处理方案:大量数据处理。 对于高并发的处理方案:高并发处理。 ============...

  • 企业门户

    常常听到解决方案中提到“为企业提供门户解决方案”,那门户是用户的登录界面?是OA?是用户处理日常业务的入口? 企业...

  • android 自定义控件的几种模式

    业务场景: 方案: 1、最简单的就是继承FrameLayout、RelativeLayout、LinearLayo...

  • OAuth协议理解

    OAuth协议 OAuth是一种开发协议,一种为处理业务诞生的方案协议。全称 Open Authorization...

  • 需求评审

    全文指精评,业务形式确定,技术解决方案基本通过,说明评审细节 1 评审前 同业务方,确定好业务方案,评审前业务方案...

网友评论

    本文标题:聊聊PHP+webSocket业务处理方案,学到就是你的。

    本文链接:https://www.haomeiwen.com/subject/bfadbctx.html