广告
返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >php如何搭建websocket环境
  • 522
分享到

php如何搭建websocket环境

2023-07-04 11:07:42 522人浏览 八月长安
摘要

这篇文章主要介绍“PHP如何搭建websocket环境”,在日常操作中,相信很多人在php如何搭建WEBSocket环境问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”php如何搭建websocket环境”的疑

这篇文章主要介绍“PHP如何搭建websocket环境”,在日常操作中,相信很多人在php如何搭建WEBSocket环境问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”php如何搭建websocket环境”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

php搭建websocket环境的方法:1、在php.ini文件中找到sockets扩展并将其前面的分号删除;2、将Http升级为websocket;3、配置环境变量,将PHP安装路径添加到Path中;4、在cmd输入“php Path”即可。

PHP创建websocket服务端

创建这个服务端需要先开启sockets扩展,没有开启的话,无论如何都会报错

只需要在php.ini文件中找到sockets扩展并将其前面的分号删除能将其开启

开启前:

;extension=sockets

开启后:

extension=sockets

开启完毕,接下来我们就可以进入正题了;首先,我们了解几个函数:

socket_create(AF_INET, SOCK_STREAM, SOL_tcp);//用于创建套接字socket_bind( $this->master,$ip,$port);//用于绑定ip和端口socket_listen( $this->master,1000);//用于调用connect连接的套接字和监听相关端口socket_accept($this->master);//负责握手连接socket_recv($socket, $buffer, 1024, 0);//从已连接的socket(客户端)接收数据socket_write($socket,$upgrade,strlen($upgrade));//给单独客户端发送数据send($message)//发送数据socket_close($socket);//断开连接

很多步骤和PHP创建socket差不多,

不同主要在于socket_write使用和数据需要解、封帧,我们需要将http升级为websocket

http升级为websocket

if(preg_match("/Sec-WebSocket-Key: (.*)\r\n/",$buffer,$match)){        $responseKey=base64_encode(sha1($match[1] . '258EAFA5-E914-47DA-95CA-C5AB0DC85B11',true));        $upgrade="HTTP/1.1 101 Switching Protocol\r\n".                 "Upgrade: websocket\r\n".                 "Connection: Upgrade\r\n".                 "Sec-WebSocket-Accept:".$responseKey."\r\n\r\n";                 socket_write($socket,$upgrade,strlen($upgrade));        }

$socket是我们创建的连接,$buffer是客户端第一次连接时发送的数据

注意:Sec-WebSocket-Key: (.*)//括号和冒号之间是要有空格的

解帧

        $len=$masks=$data=$decoded=null;$len=ord($buffer[1]) & 127; if($len === 126){$masks=substr($buffer,4,4);$data=substr($buffer, 8);}else if($len === 127){$masks=substr($buffer,10,4);$data=substr($buffer, 14);}else{$masks=substr($buffer,2,4);$data=substr($buffer, 6);} for($index = 0;$index<strlen($data);$index++){$decoded.=$data[$index] ^ $masks[$index % 4];}return $decoded;

$buffer是客户端第一次连接时发送的数据

封帧

      $len=strlen($message);if($len<=125){return "\x81".chr($len).$message;}else if($len<=65535){return "\x81".chr(126).pack("n",$len).$message;}else{return "\x81".chr(127).pack("xxxxN",$len).$message;}

$message是我们需要发送的数据

前端连接前记得运行服务端,运行方式:

在cmd输入

php 你的服务端PHP文件路径

运行前先配置环境变量:将你的PHP安装路径添加到Path中

到此,关于“php如何搭建websocket环境”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!

--结束END--

本文标题: php如何搭建websocket环境

本文链接: https://www.lsjlt.com/news/344684.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • php如何搭建websocket环境
    这篇文章主要介绍“php如何搭建websocket环境”,在日常操作中,相信很多人在php如何搭建websocket环境问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”php如何搭建websocket环境”的疑...
    99+
    2023-07-04
  • php怎么搭建websocket环境
    本教程操作环境:windows7系统、PHP8.1版、Dell G3电脑。php怎么搭建websocket环境?PHP创建websocket服务端创建这个服务端需要先开启sockets扩展,没有开启的话,无论如何都会报错只需要在php.in...
    99+
    2022-10-27
  • 如何在spring环境中搭建websocket
    今天就跟大家聊聊有关如何在spring环境中搭建websocket,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。本文基于Apach Tomcat 8.0.3+MyEclipse+ma...
    99+
    2023-05-31
    spring websocket bs
  • PHP环境如何搭建
    要搭建PHP环境,需要以下步骤:1. 安装PHP解释器:你可以从PHP官方网站(https://www.php.net/downlo...
    99+
    2023-08-23
    php
  • Lamp环境中如何搭建Mysql与PHP环境的搭建
    今天就跟大家聊聊有关  Lamp环境中如何搭建Mysql与PHP环境的搭建,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。 Lam...
    99+
    2022-10-18
  • php建站环境如何搭建
    要搭建PHP建站环境,需要以下步骤:1. 安装Web服务器:常见的选择有Apache、Nginx等。可以通过包管理器或者官方网站下载...
    99+
    2023-08-23
    php
  • tomcat php环境如何搭建
    本文操作环境:Windows7系统,PHP7.1版,Dell G3电脑。tomcat php环境如何搭建?php+tomcat 配置运行环境完成时的截图!虽然可以在tomcat运行php项目,但是不代表不用配置php环境,所以第一步要做的是...
    99+
    2019-03-22
    php tomcat
  • selenium php环境如何搭建
    这篇“selenium php环境如何搭建”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“selenium php环境如何搭建...
    99+
    2023-07-04
  • winxp如何搭建php环境
    这篇文章主要介绍winxp如何搭建php环境,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!winxp搭建php环境的方法:1、安装Apache,并修改httpd.conf配置文件;2、安装MySql;3、下载安装PH...
    99+
    2023-06-22
  • docker搭建php环境
    PHP(PHP: Hypertext Preprocessor)即“超文本预处理器”,是在服务器端执行的脚本语言,尤其适用于Web开发并可嵌入HTML中。PHP语法学习了C语言,吸纳Java和Perl多个语言的特色发展出自己的特色语法,并根...
    99+
    2023-08-31
    php 开发语言 服务器
  • vs2008搭建php环境
    在开发网站或者应用程序的时候,php是一种非常受欢迎的编程语言之一。如果你是使用Microsoft Visual Studio 2008进行开发,那么你需要搭建php环境才能开始你的开发工作。在本篇文章中,我们将会向你介绍如何在vs2008...
    99+
    2023-05-24
  • CentOS7 搭建php环境
    0x01 安装apache 1、安装apache yum install -y httpd 2、修改配置文件 配置ServerName,进入httpd.conf文件: vim /etc/httpd/conf/http...
    99+
    2023-09-01
    apache php centos Powered by 金山文档
  • win下如何搭建php环境
    本篇内容主要讲解“win下如何搭建php环境”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“win下如何搭建php环境”吧!win下搭建php环境的方法:1、下载apache并配置;2、下载PHP...
    99+
    2023-06-22
  • iis6.0上如何搭建php环境
    本篇内容介绍了“iis6.0上如何搭建php环境”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!第一步:安装IIS在开始搭建PHP环境之前,我...
    99+
    2023-07-05
  • php开发环境如何搭建
    要搭建PHP开发环境,您需要按照以下步骤进行操作: 安装Web服务器:您可以选择Apache、Nginx等常见的Web服务器。根据...
    99+
    2023-10-25
    php
  • linux上如何搭建php环境
    这篇文章主要介绍了linux上如何搭建php环境,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。在linux上搭建php环境的方法:1、打开终端,安装XAMPP for Lin...
    99+
    2023-06-15
  • 如何用vscode搭建php环境
    本篇内容介绍了“如何用vscode搭建php环境”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!安装PHP要在VS Code中搭建PHP环境,...
    99+
    2023-07-05
  • php如何搭建运行环境
    本篇内容介绍了“php如何搭建运行环境”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、选择操作系统首先,你需要选择一个适合你的操作系统进行...
    99+
    2023-07-05
  • linux 下如何搭建php环境
    这篇文章主要介绍了linux 下如何搭建php环境,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。linux下搭建php环境的方法:1、通过“sudo apt-get inst...
    99+
    2023-06-22
  • macbook nginx php环境如何搭建
    本篇内容介绍了“macbook nginx php环境如何搭建”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!第一步:安装HomebrewHo...
    99+
    2023-07-05
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作