I. Служба HTTP
HTTP-сервер
Давайте посмотрим на руководство по введению в официальные документы swool – > быстрый запуск – > создайте веб-сервер, один раз запустите пример кода документа и увидите следующий эффект:
http _server. php
on('request', function ($request, $response) { var_dump($request->get, $request->post); //Cookie test // $response->cookie('name', 'lily', time()+3600); $response->header("Content-Type", "text/html; charset=utf-8"); $response->end("Hello Swoole. #".rand(1000, 9999)."
"); }); $http->start();
Откройте окно для доступа к сервису:
[email protected]:~# curl http://127.0.0.1:9501Hello Swoole. #9147
[email protected]:~# curl http://127.0.0.1:9501?act=allHello Swoole. #4674
[email protected]:~#
HTTP-серверу нужно только обратить внимание на ответ на запрос, поэтому ему нужно только прослушать событие onrequest. Это событие запускается при поступлении нового HTTP-запроса. Функция обратного вызова события имеет два параметра, один из которых-объект $request, который содержит соответствующую информацию о запросе, такую как данные запроса get/post.
Другой – объект ответа. Ответ на запрос может быть завершен с помощью объекта ответа. Метод $response – > end() означает вывод фрагмента HTML-содержимого и завершение запроса.
- 0.0.0.0 означает прослушивание всех IP-адресов. Сервер может иметь несколько IP-адресов одновременно, таких как 127.0.0.1 локальный IP-адрес обратной связи, 192.168.1.100 IP-адрес локальной сети, 210.127.20.2 IP-адрес внешней сети. Здесь вы также можете указать один IP-адрес для прослушивания
- 9501 порт прослушивания, если занятая программа выдаст фатальную ошибку, прервите выполнение.
Статический контент
Когда статические страницы, такие как test.html не следуйте логике PHP, здесь нам нужно выполнить специальную настройку
set([ 'enable_static_handle' => true, 'document_root' = > "/ work / study / code / swoole / static" // store static resource path ]); $http->on('request', function ($request, $response) { var_dump($request->get, $request->post); //Cookie test // $response->cookie('name', 'lily', time()+3600); $response->header("Content-Type", "text/html; charset=utf-8"); $response->end("Hello Swoole. #".rand(1000, 9999)."
"); }); $http->start();