Определить конец сообщения для сокетной связи PHP - PullRequest
1 голос
/ 24 января 2012

У меня небольшой скрипт HTTP-сервера, который получает запросы и ответы HTTP-клиентов. Мне нужно определить, когда есть \ r \ n \ r \ n тип окончания. Это происходит, когда у нас есть такой ввод:

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

Мне нужно остановить чтение после двойного возврата «Соединение: закрыть». Я пытался с strpos и другими строковыми функциями, но это не работает. Любые подсказки, чтобы обнаружить такой конец строки в PHP?

Спасибо.

1 Ответ

0 голосов
/ 24 января 2012

Для этого конкретного протокола вы можете просто искать пустые строки с:

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

На самом деле вы должны искать \r\n\n для глючных клиентов), но другие комбинации вряд ли произойдут. Так что все, что только с пробелами, больше не является допустимой строкой заголовка.

...