gpt4 book ai didi

javascript - 使用 Apache 的 mod_proxy_wstunnel 连接到 PHP,而不使用第 3 方 API

转载 作者:IT老高 更新时间:2023-10-28 23:21:26 24 4
gpt4 key购买 nike

我是 WebSocket 世界的新手,即使一周后,我仍然找不到如何在 PHP 不使用任何第三方库的情况下使用它 。或者不确定是否有可能。

我有 3 个问题,

1) 我们是否必须使用一些第 3 方 API 或库,例如 Ratchet , PHP-Push-WebSocketPHP WebSocket使 PHP 能够通过 WebSocket 协议(protocol)进行通信?

2) 如果您对上述问题的回答是肯定的,那么使用 Apache 的 mod_proxy_wstunnel 的优势/目的是什么?

3) 如果我使用任何 PHP WebSocket 3rd Party Library,那么我还需要启用和使用 Apache 的 mod_proxy_wstunnel 吗?如果否,那么 Apache 的 mod_proxy_wstunnel 的目的又是什么?

我经历了这个Using go-websocket behind Apache mod_proxy_wstunnel .在这个问题中,OP 指出了一些 go-websocket,但不幸的是链接给出了 404 错误,因此我无法理解用户是否使用了任何第 3 方 API。

任何帮助将不胜感激。提前致谢。

最佳答案

PHP 不是为 WS 创建的。当然你可以这样做,但它充满了 while (true) fsock_open [*]。您必须有权访问 shell 才能使用 php-cgi 运行 WS-server。 (通常)

选择支持线程/异步通信的语言。现在在顶部是Node.js .此外,更好地使用专用库来支持旧浏览器等。如果您正在考虑 ajax 的替代品,那么您可以使用 socket.io .如果您想创建一对多的通信(例如聊天、广播消息),请更进一步并使用 Bayeux 实现之一,例如:Faye .

mod_proxy_wstunnel 扩展为 WS 服务器添加了一个额外的层。根据配置,它可以支持 DDoS、队列、负载平衡、本地端口交换和 https 支持。但最好将它用于 nginx。

因此,对于测试,您不需要 mod_proxy_wstunnel,而在生产环境中,您应该添加额外的安全层,例如 NGINX ws Tunelling。

[*] 抱歉,我犯了一些错误。 PHP 原生支持 WebSockets。该内容将使您对 PHP 中的 WS 产生负面影响。

Websockets 是事件,PHP 管理不善。

关于javascript - 使用 Apache 的 mod_proxy_wstunnel 连接到 PHP,而不使用第 3 方 API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45163009/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com