.. _async-sockets-echo-sample:

Asynchronous Socket Echo Server
###############################

Overview
********

The sockets/echo-async sample application for Zephyr implements an
asyncronous IPv4/IPv6 TCP echo server using a BSD Sockets compatible API
with non-blocking sockets and a ``poll()`` call. This is an extension of
the :ref:`sockets-echo-sample` sample. It's a more involved application,
supporting both IPv4 and IPv6 with concurrent connections, limiting
maximum number of simultaneous connections, and basic error handling.

The source code for this sample application can be found at:
:file:`samples/net/sockets/echo_async`.

Requirements
************

- :ref:`networking_with_qemu`
- or, a board with hardware networking (including 6LoWPAN)

Building and Running
********************

Build the Zephyr version of the sockets/echo_async application like this:

.. code-block:: console

    $ cd $ZEPHYR_BASE/samples/net/sockets/echo_async
    $ make pristine
    $ make BOARD=<board_to_use>

``board_to_use`` defaults to ``qemu_x86``. In this case, you can run the
application in QEMU using ``make run``. If you used another BOARD, you
will need to consult its documentation for application deployment
instructions. You can read about Zephyr support for specific boards in
the documentation at :ref:`boards`.

After the sample starts, it expects connections at 192.0.2.1 (IPv4), or
2001:db8::1 (IPv6), port 4242. The easiest way to connect is:

.. code-block:: console

    $ telnet 192.0.2.1 4242     # use this for IPv4
    $ telnet 2001:db8::1 4242   # or this for IPv6

After a connection is made, the application will echo back any line sent to
it. Unlike the above-mentioned :ref:`sockets-echo-sample`, this application
supports multiple concurrent client connections. You can open
another terminal window and run the same telnet command as above.
The sample supports up to three connected clients, but this can be adjusted
by changing ``NUM_FDS`` defined in the source code.

Running application on POSIX Host
=================================

The same application source code can be built for a POSIX system, e.g.
Linux. (Note: if you look at the source, you will see that the code is
the same except the header files are different for Zephyr vs POSIX, and
there's an additional option to set for Linux to make a socket IPv6-only).

To build for a host POSIX OS:

.. code-block:: console

    $ make -f Makefile.posix

To run:

.. code-block:: console

    $ ./socket_echo

To test:

.. code-block:: console

    $ telnet 127.0.0.1 4242   # use this for IPv4
    $ telnet ::1 4242         # or this for IPv6

As can be seen, the behavior of the application is the same as the Zephyr
version.
