【websocket本地测试通过,但是生产环境下一直连接不上】教程文章相关的互联网学习教程文章

php – 什么是长轮询,Websockets,服务器发送事件(SSE)和Comet?

我曾尝试阅读一些文章,但我对这些概念还不是很清楚. 有人愿意尝试向我解释这些技术是什么: >长轮询>服务器发送的事件> Websockets>彗星 我每次遇到的一件事是,服务器保持连接打开并将数据推送到客户端.如何保持连接打开,客户端如何获取推送数据? (客户端如何使用数据,也许某些代码可能会有帮助?) 现在,我应该将其中哪一个用于实时应用.我一直听说很多关于websockets(有socket.io [一个node.js库]),但为什么不用PHP?解决方法:在...

javascript – WebSocket握手期间出错:PHP的’Sec-WebSocket-Accept’标头值不正确【代码】

我用PHP编写了websocket服务器/客户端,它在2年内为我工作.现在它不起作用,说:WebSocket握手期间出错:错误的’Sec-WebSocket-Accept’标头值 我的客户端代码基本上是这样的:socket = new WebSocket("ws://<?= EVENT_SERVER_ADDR ?>:"+EVENT_SERVER_PORT+"<?= EVENT_SERVER_WWW_PATH ?>");PHP服务器端代码是这样的:list ($resource, $host, $connection, $version, $origin, $key, $protocol, $upgrade) = $this->getheaders ($b...

HTML5 websockets与PHP websockets vs node.js websockets?

我决定使用WebSockets作为我的网站聊天应用程序,我刚开始学习websockets,但我有三个不同的选项,node.js,PHP或HTML5. 我想知道的是三者之间有什么区别,我的意思是我不想学习所有这三者,如果有的话比其他人好.解决方法:Web套接字是一种定义双方如何通信的协议.这是语言不可知的;任何语言都可以提供适配器与另一个Web套接字通信.你提到的三件事是这个适配器的三种不同的实现.对于聊天应用程序,您可能至少需要其中两个:一个服务器,一个...

javascript – 带棘轮的PHP WebSockets – 示例不起作用【代码】

这是一些背景知识. >我的目标是使用Ratchet WebSockets创建双向客户端 – 服务器通信.>我已经安装了棘轮和附带的软件,如here所述.>我已成功创建了一个Hello World应用程序,如here所述.>现在我正在尝试使用this教程创建Push功能.我已复制代码,稍微修改它(下面的代码注释中记录的修改),安装了ZMQ库(最新版本,将其添加到php.ini,显示在php -m中 – 简而言之,它已正确安装).但WebSockets不起作用. 我将在下面的测试过程中提供真实的实时...

使用Secure Websocket和PHP – 加密握手【代码】

我读过(安全)Websocket正在使用与HTTP(S)协议相同的端口.但是,我的PHP Websocket服务器从客户端接收加密的握手,我正在收听12345端口上的开放连接. 我的系统通过非安全websocket很好地工作,但我需要添加安全功能,我不明白为什么我会收到这些加密的握手.由于OSI模型,它对我来说是透明的…… 如果我配置apache来激活SSL引擎并监听12345端口.我不能再为我的PHP Websocket服务器使用这个端口,因为它将处于“已经使用过”的状态……或者我...

Websockets和PHP

我开始考虑使用websockets作为在我正在调试的新构建PHP应用程序中替换长轮询的解决方案. 我有几个问题,我想知道人们是否可以帮助我. > Nodejs服务器可以调用PHP吗?如果它确实不会,它会遇到与连接方面的Apache相同的缺点吗?我们都知道nodejs是非阻塞的,Apache等不是,但是如果Nodejs只是调用PHP服务器,那么它自己的程序会不会以类似的方式瓶颈?> PHP和websockets是否匹配良好?>除了socketio有什么好的js库,显然只适用于Nodejs?>...

javascript – 与nodes.js服务器的PHP websocket连接【代码】

我有简单的node.js websocket服务器:var fs = require('fs') var ws = require('../../')var options = {secure: false, }var Server = ws.createServer(options, function(conn){conn.on("text", function (str) {broadcast(str);//conn.sendText(str.toUpperCase() + "!!!")console.log('connected');console.log(str);//console.log(Server.connections);}) }).listen(8001, "127.0.0.1");function broadcast(str){Server.conn...

如何在MAMP或XAMPP上安装适用于PHP的Ratchet WebSockets?【代码】

我正在尝试将实时聊天集成到我的php / backbone应用程序中,我想我会使用棘轮?如何将Ratchet安装到MAMP或XAMPP中需要做什么?他们网站上提供的唯一文档是使用CURL,但我不知道如何为localhost安装必要的资源,也不知道需要添加哪些资源.任何意见,将不胜感激.解决方法:您应该在项目的根目录中安装composer.phar. 如果你在linux上,你只需运行命令curl -s https://getcomposer.org/installer | php,否则你可以使用curl’s download page...

php只能做网站?基于swoole+websocket开发双向通信应用【代码】

前言 众所周知,PHP用于开发基于HTTP协议的网站应用非常便捷。而HTTP协议是一种单向的通信协议,只能接收客户端的请求,然后响应请求,不能主动向客户端推送信息。因此,一些实时性要求比较高的应用,如实时聊天、直播应用、在线网页游戏等,就不适合采用HTTP协议。即使采用客户端主动轮询的方式来间接实现双向通信,也会较大地增加服务器的负担,增大代码的复杂性,不利于维护。 那么,是否PHP就无法用来开发双向通信的应用呢? 答...

PHP websocket之聊天室实现【代码】

PHP部分 <?php error_reporting(E_ALL); set_time_limit(0);// 设置超时时间为无限,防止超时 date_default_timezone_set('Asia/shanghai'); class WebSocket {const LOG_PATH = '/tmp/';const LISTEN_SOCKET_NUM = 9;/*** @var array $sockets* [* (int)$socket => [* info* ]* ]* todo 解释socket与file号对应*/private $sockets = [];private $master;public functio...

网页实时聊天之PHP实现websocket【图】

原文地址:https://www.cnblogs.com/zhenbianshu/p/6111257.html 前言 websocket 作为 HTML5 里一个新的特性一直很受人关注,因为它真的非常酷,打破了 http “请求-响应”的常规思维,实现了服务器向客户端主动推送消息,本文介绍如何使用 PHP 和 JS 应用 websocket 实现一个网页实时聊天室; 以前写过一篇文章讲述如何使用ajax长轮询实现网页实时聊天,见链接: 网页实时聊天之js和jQuery实现ajax长轮询 ,但是轮询和服务器的 pe...