关于php中套接字的问题?

时间:2010-08-24 01:12:32

标签: php sockets

1-假设我的计算机IP地址是111.11.111.11,我的php脚本所在的服务器是222.22.222.22,所以如果我访问并运行服务器上的php脚本并启动套接字服务器,我的客户需要连接到哪个IP?

2-是否可以在php上运行一个继续读取的套接字,并在关闭浏览器之前响应客户端,所以基本上我要做的就是启动一个继续阅读和接受的套接字客户,并与每个客户保持多次沟通。

感谢您的回答,但我认为我在问题2上的解释不够好,所以让我更轻松一点: 是否可以使用PHP创建聊天服务器?因为我所涉及的问题是,是否可以接受多个客户并让他们随时待命。

2 个答案:

答案 0 :(得分:1)

  1. 222.22.222.22。但听起来您正在启动套接字服务器以响应HTTP请求。可能这不会按预期工作,因为PHP解释器在发送响应后终止。如果你有权限,你可以分叉一个单独的套接字服务器进程,但我不知道它会实现什么。

  2. 没有。即使您保持解释器运行,也无法判断浏览器何时关闭。您最接近的是确定浏览器(由Cookie或IP确定)停止与您通信。

答案 1 :(得分:1)

1- 222.22.222.22,您服务器的IP。

2-当访问者到达时,您可以使用JavaScript / AJAX生成“套接字进程”并实现客户端“心跳”应用程序,但这意味着您可能会长时间运行套接字后端脚本,这可能是导致问题(比如打开很多PHP进程,具体取决于您的Web服务器的设置方式,这可能会导致问题)