返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >php怎么搭建websocket环境
  • 766
分享到

php怎么搭建websocket环境

2024-04-02 19:04:59 766人浏览 八月长安
摘要

本教程操作环境:windows7系统、PHP8.1版、Dell G3电脑。php怎么搭建websocket环境?PHP创建websocket服务端创建这个服务端需要先开启Sockets扩展,没有开启的话,无论如何都会报错只需要在php.in

教程操作环境:windows7系统、PHP8.1版、Dell G3电脑。

php怎么搭建websocket环境?

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://lsjlt.com/news/116942.html(转载时请注明来源链接)

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

猜你喜欢
  • php怎么搭建websocket环境
    本教程操作环境:windows7系统、PHP8.1版、Dell G3电脑。php怎么搭建websocket环境?PHP创建websocket服务端创建这个服务端需要先开启sockets扩展,没有开启的话,无论如何都会报错只需要在php.in...
    99+
    2024-04-02
  • php如何搭建websocket环境
    这篇文章主要介绍“php如何搭建websocket环境”,在日常操作中,相信很多人在php如何搭建websocket环境问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”php如何搭建websocket环境”的疑...
    99+
    2023-07-04
  • winxp怎么搭建php环境
    本文操作环境:Windows xp系统,php 5.4.15版,Dell G3电脑。winxp怎么搭建php环境?windowsXP下搭建Apache+MySql+PHP环境一、安装Apache下载httpd-2.4.4-win32-ssl...
    99+
    2016-10-17
    winxp php
  • selenium php环境怎么搭建
    本教程操作环境:windows7系统、PHP8.1版、Dell G3电脑。selenium php环境怎么搭建?windows环境下的PHP+selenium环境搭建最近想要入门自动化测试,之前也写过使用codeception进行单元测试和...
    99+
    2024-04-02
  • tomcat php环境怎么搭建
    这篇文章主要介绍了tomcat php环境怎么搭建,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。tomcat php环境搭建的方法:1、把下载好的php复制到相应目录;2、解...
    99+
    2023-06-22
  • ubuntu怎么搭建php环境
    要在Ubuntu上搭建PHP环境,您可以按照以下步骤进行操作:1. 更新Ubuntu软件包列表:```sudo apt update...
    99+
    2023-08-29
    ubuntu php
  • win10怎么搭建本地php环境搭建
    在WEB开发中,PHP也许是最常用的服务器端脚本语言之一。为了更加方便的开发与测试,希望在本地电脑上搭建PHP环境,那么如何实现呢?下面是具体的步骤说明。步骤一:安装Web服务器搭建PHP环境的关键是安装Web服务器,Windows系统下可...
    99+
    2023-05-14
  • 如何在spring环境中搭建websocket
    今天就跟大家聊聊有关如何在spring环境中搭建websocket,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。本文基于Apach Tomcat 8.0.3+MyEclipse+ma...
    99+
    2023-05-31
    spring websocket bs
  • linux 下怎么搭建php环境
    本文操作环境:ubuntu 16.04系统,PHP7.0版,Dell G3电脑。linux 下怎么搭建php环境Linux下搭建PHP环境详细步骤Ubuntu16.04+MySQL+Apache+phpMyAdmin1.安装MySQLsud...
    99+
    2022-03-06
    linux php环境
  • win下怎么搭建php环境
    本文操作环境:Windows7系统,PHP5.6版,Dell G3电脑。window10下搭建php的运行环境之前开发一直都是用的php集成环境(eg:phpstudy,xampp等),没有尝试过使用php+mysql+apache在本地独...
    99+
    2020-06-15
    php win10
  • 怎么搭建PHP开发环境
    这篇文章主要介绍怎么搭建PHP开发环境,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!安装Apache下载Apache,地址:http://www.apachelounge.com/download/,如下图: 2、...
    99+
    2023-06-15
  • centos中怎么搭建php环境
    要在CentOS上搭建PHP环境,您可以按照以下步骤进行操作: 更新系统: sudo yum update 安装Apache...
    99+
    2023-10-27
    centos php
  • hbuilder中怎么搭建php环境
    在HBuilder中搭建PHP环境并不是直接支持的功能,因为HBuilder主要是用于前端开发的工具。不过你可以通过安装相关的插件或...
    99+
    2024-03-06
    hbuilder php
  • docker搭建php环境
    PHP(PHP: Hypertext Preprocessor)即“超文本预处理器”,是在服务器端执行的脚本语言,尤其适用于Web开发并可嵌入HTML中。PHP语法学习了C语言,吸纳Java和Perl多个语言的特色发展出自己的特色语法,并根...
    99+
    2023-08-31
    php 开发语言 服务器
  • 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 金山文档
  • vs2008搭建php环境
    在开发网站或者应用程序的时候,php是一种非常受欢迎的编程语言之一。如果你是使用Microsoft Visual Studio 2008进行开发,那么你需要搭建php环境才能开始你的开发工作。在本篇文章中,我们将会向你介绍如何在vs2008...
    99+
    2023-05-24
  • linux php调试环境怎么搭建
    本文操作环境:ubuntu 16.04系统,PHP7.1版,Dell G3电脑。linux php调试环境怎么搭建?Linux的PHP开发环境快速搭建搭建的环境是LNMP:1、安装MySQL这个非常简单我用的是Ubuntu那么就用apt源,...
    99+
    2015-01-12
    linux
  • docker怎么搭建php开发环境
    要搭建PHP开发环境,可以使用Docker来快速部署。以下是基本的步骤:1. 安装Docker:根据你的操作系统,安装适合的Dock...
    99+
    2023-08-18
    docker php
  • 怎么在Server上搭建PHP环境
    本文小编为大家详细介绍“怎么在Server上搭建PHP环境”,内容详细,步骤清晰,细节处理妥当,希望这篇“怎么在Server上搭建PHP环境”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。第一步:安装Apache在...
    99+
    2023-07-06
  • Lamp环境中如何搭建Mysql与PHP环境的搭建
    今天就跟大家聊聊有关  Lamp环境中如何搭建Mysql与PHP环境的搭建,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。 Lam...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作