我想知道 PHP 是否可以充当 TCP 端口上的服务器? 1GB RAM 服务器可以处理多少个 IDLE 连接? PHP 能否接收到一个 TCP 端口的多个连接(就像 apache 在端口 80 上所做的那样?)
如果我有一个客户端连接到 PHP 打开的套接字,我如何向它发送数据? (例如a.php正在监听端口5000,某个客户端已连接,稍后b.php需要向该客户端发送一些内容,那么推送消息?)
或者我应该使用 UDP 代替?
朋友,我的第一个建议是,即使 PHP 本身就可以做到这一点。 PHP 不是实现 TCP 套接字服务器的最佳技术。原因是因为记住了php
每个脚本都有 max_execution_time 并让服务器永远运行需要将此值设置为 0,这意味着永远。 1GB RAM 服务器可以处理的连接量取决于每个 php 进程消耗的 RAM 和处理器数量。
但无论如何,如果您决定使用 php.是的,你可以用php构建一个异步tcp套接字服务器。
只需创建一个主套接字监听5000(例如)。对于与此主套接字连接的每个客户端套接字,然后为每个传入连接创建一个具有随机空闲端口(由操作系统选择)的子套接字,您可以开始与子套接字通信,同时释放主套接字以继续侦听另一个传入连接连接。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)