blob: e260afad2a79ae8252935efeb0019f887cf3cbb5 [file] [log] [blame]
.. _sockets-echo-client-sample:
Echo Client
###########
Overview
********
The echo-client sample application for Zephyr implements a UDP/TCP client
that will send IPv4 or IPv6 packets, wait for the data to be sent back,
and then verify it matches the data that was sent.
This sample is a port of the :ref:`echo-client-sample`. It has been rewritten
to use socket API instead of native net-app API.
The source code for this sample application can be found at:
:file:`samples/net/sockets/echo_client`.
Requirements
************
- :ref:`networking_with_qemu`
Building and Running
********************
There are multiple ways to use this application. One of the most common
usage scenario is to run echo-client application inside QEMU. This is
described in :ref:`networking_with_qemu`.
Build echo-client sample application like this:
.. zephyr-app-commands::
:zephyr-app: samples/net/sockets/echo_client
:board: <board_to_use>
:goals: build
:compact:
``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`.
Running echo-server in Linux Host
=================================
There is one useful testing scenario that can be used with Linux host.
Here echo-client is run in QEMU and echo-server is run in Linux host.
To use QEMU for testing, follow the :ref:`networking_with_qemu` guide.
In a terminal window:
.. code-block:: console
$ sudo ./echo-server -i tap0
Run echo-client application in QEMU:
.. zephyr-app-commands::
:zephyr-app: samples/net/sockets/echo_client
:host-os: unix
:board: qemu_x86
:goals: run
:compact:
Note that echo-server must be running in the Linux host terminal window
before you start the echo-client application in QEMU.
See the :ref:`sockets-echo-server-sample` documentation for an alternate
way of running, with the echo-client on the Linux host and the echo-server
in QEMU.