嗯,这是更多的网络问题。 我想知道哪些项目必须存储到数据库中,所以在将来,我可以向他们发送http响应消息。 例如ip,port ...... Basiccaly我问,从女巫项目服务器使whitch中的回复消息封装了http响应消息!
我搜索http://www.php.net/但我找不到可以使用的东西..
<?php
print_r(apache_request_headers());
?>
这将输出类似这样的内容
我需要这些信息的女巫吗?
Array ( [Host] => localhost [User-Agent] => Mozilla/5.0 (Windows NT 6.1; rv:8.0) Gecko/20100101 Firefox/8.0 [Accept] =>
的text / html,应用/ XHTML + xml的,应用/ XML; Q = 0.9, / 的; Q = 0.8 [Accept-Language] =&gt; EL-GR,EL,Q = 0.8,EN-US; Q = 0.5,连接; Q = 0.3 [Accept-Encoding] =&gt; gzip,deflate [Accept-Charset] =&gt; ISO-8859-7,utf-8; q = 0.7,*; q = 0.7 [连接] =&gt; keep-alive [Cookie] =&gt; __utma = 111872281.500570218.1321360124.1322949954.1322956678.12; __utmz = 111872281.1321360124.1.1.utmcsr =(直接)| utmccn =(直接)| utmcmd =(无)[Cache-Control] =&gt; max-age = 0)数组([X-Powered-By] =&gt; PHP / 5.3.8)
这就是我要找的......? 我可以使用此数据通过彗星方法向客户发送消息吗?
答案 0 :(得分:1)
为了通过HTTP发送任何内容,需要有一个HTTP 侦听器,期望传入的HTTP请求。常规客户端不公开侦听传入的 HTTP消息,即使这样做,也不知道响应属于哪个请求。换句话说,尝试建立从服务器到客户端的HTTP连接毫无意义,这不是协议的工作方式。
Comet通过打开从客户端到服务器的HTTP连接并保持打开直到服务器上发生某些事情为止。反过来说不起作用。因此,您不需要在数据库中永久存储任何内容,因为只要HTTP连接关闭,您就无法从服务器重新建立它。因此,存储超出当前请求的任何内容都没有意义。
答案 1 :(得分:0)
也许HTTP 1.1规范可能有所帮助? http://www.w3.org/Protocols/rfc2616/rfc2616.html
答案 2 :(得分:0)
我认为你要找的是$_SERVER
超全球(see here)。
要查看其包含的内容的转储,请运行以下脚本:
<?php
header('Content-type: text/plain; charset=utf-8');
print_r($_SERVER);
?>
Comet使用长期请求从客户端到服务器(从不相反),服务器休眠直到事件触发,然后响应请求。响应到达客户端后,会向服务器发送新请求。
详细了解comet on wikipedia。