【发布时间】:2012-11-01 16:25:22
【问题描述】:
我有一个问题困扰了我将近 24 小时,目前我不知道如何解决它。
事情是这样的:我想在我的服务器上有一个“主”套接字来处理所有传入的数据并使用 PHP 将其发送到其他客户端。那部分很好,但我想使用多个子域连接该套接字,例如例如.example.com。问题是,除非你有一个正在运行的套接字,否则你无法连接到该子域,这只会填满你的端口,这就是我想要阻止的。
最好的解决方案是让Apache处理传入的TCP请求,将数据保存在你正在连接的域上,然后将客户端重定向到主套接字,主套接字处理接收到的数据并在客户端被接受时立即执行。
老实说,我不知道该怎么做。我正在寻找几个小时,但我发现的唯一东西是 Stackoverflow 上接近它的东西:Apache - handling TCP connections, but not HTTP requests
但是使用那段脚本,我无法保存数据(您正在使用的域)并将其发送到主套接字。
我不知道这是否可以由 Apache 完成,或者是否有可能,或者是否有任何其他解决方法。
谢谢你:)
【问题讨论】:
-
我对你想做什么感到困惑。套接字不会“在子域上运行”。域名映射到 IP。在处理 HTTP 请求时,Apache 使用“Host”HTTP/1.1 标头来区分一个虚拟主机和另一个虚拟主机。使用原始 TCP,您要么必须为每个子域使用单独的 IP,要么在自定义协议中发送所需的子域名。
标签: php apache sockets tcp subdomain