58 lines
1.8 KiB
ReStructuredText
58 lines
1.8 KiB
ReStructuredText
.. _sockets-dumb-http-server-mt-sample:
|
|
|
|
Socket Multithreaded Dumb HTTP Server
|
|
#####################################
|
|
|
|
Overview
|
|
********
|
|
|
|
The ``sockets/dumb_http_server_mt`` sample application for Zephyr implements a
|
|
skeleton HTTP server using a BSD Sockets compatible API.
|
|
This sample has similar functionality as :ref:`sockets-dumb-http-server-sample`
|
|
except it has support for multiple simultaneous connections, TLS and
|
|
IPv6. Also this sample application has no compatibility with POSIX.
|
|
This HTTP server example is very minimal and does not really parse an incoming
|
|
HTTP request, just reads and discards it, and always serves a single static
|
|
page.
|
|
|
|
The source code for this sample application can be found at:
|
|
:zephyr_file:`samples/net/sockets/dumb_http_server_mt`.
|
|
|
|
Requirements
|
|
************
|
|
|
|
- :ref:`networking_with_host`
|
|
- or, a board with hardware networking
|
|
|
|
Building and Running
|
|
********************
|
|
|
|
Build the Zephyr version of the sockets/dumb_http_server_mt application like
|
|
this:
|
|
|
|
.. zephyr-app-commands::
|
|
:zephyr-app: samples/net/sockets/dumb_http_server_mt
|
|
:board: <board_to_use>
|
|
:goals: build
|
|
:compact:
|
|
|
|
After the sample starts, it expects connections at 192.0.2.1 or 2001:db8::1,
|
|
port 8080. The easiest way to connect is by opening a following URL in a web
|
|
browser: http://192.0.2.1:8080/ or http://[2001:db8::1]:8080/
|
|
You should see a page with a sample content about Zephyr (captured at a
|
|
particular time from Zephyr's web site, note that it may differ from the
|
|
content on the live Zephyr site).
|
|
Alternatively, a tool like ``curl`` can be used:
|
|
|
|
.. code-block:: console
|
|
|
|
$ curl http://192.0.2.1:8080/
|
|
|
|
Finally, you can run an HTTP profiling/load tool like Apache Bench
|
|
(``ab``) against the server::
|
|
|
|
$ ab -n10 http://192.0.2.1:8080/
|
|
|
|
``-n`` parameter specifies the number of HTTP requests to issue against
|
|
a server.
|