2012-01-23 34 views
1

我有一个接收HTTP客户端请求和回复的小HTTP服务器脚本。我需要检测何时存在\ r \ n \ r \ n类型的结尾。发生这种情况时,我们有一个这样的输入:检测套接字通信的消息结束PHP

GET/HTTP/1.1 
Host: test.com 
Connection: close 

我需要停止阅读后“连接:关闭”双倍返还命中。我尝试使用strpos和其他字符串函数,但它不起作用。任何提示来检测这种以PHP结尾的字符串?

谢谢。

+0

您如何从套接字读取数据,然后检查\ r \ n \ r \ n? 'strpos($ response,“\ r \ n \ r \ n”)将适用于此,但您必须查看整个缓冲区。此外,在没有设置该标题的情况下,其连接可能不会关闭,并且也不能保证是在\ r \ n \ r \ n之前的最后一个标题 – drew010

回答

0

对于特定的协议,你可以只是看空行有:

if (!strlen(trim($line))) { 

其实你应该寻找\r\n(和\n对于越野车的客户),但其他组合也是不太可能发生。因此,只有空白的东西不再是有效的标题行。