.. _networking_api_usage: Network Connectivity API ######################## Applications can use the connectivity API defined in :file:`net_context.h` to create a connection, send or receive data, and close a connection. The same API can be used when working with UDP or TCP data. The net_context API is similar to the BSD socket API and mapping between these two is possible. The main difference between net_context API and BSD socket API is that the net_context API uses the fragmented network buffers (net_buf) defined in :file:`include/net/buf.h` and BSD socket API uses linear memory buffers. This example creates a simple server that listens to incoming UDP connections and sends the received data back. You can download the example application source file here `connectivity-example-app.c `_ This example application begins with some initialization. (Use this as an example; you may need to do things differently in your own application.) .. literalinclude:: connectivity-example-app.c :linenos: :language: c :lines: 2-54 :lineno-start: 2 After initialization, first thing application needs to create a context. Context is similar to a socket. .. literalinclude:: connectivity-example-app.c :linenos: :language: c :lines: 57-66 :lineno-start: 57 Then you need to define the local end point for a connection. .. literalinclude:: connectivity-example-app.c :linenos: :language: c :lines: 69-83 :lineno-start: 69 Wait until the connection data is received. .. literalinclude:: connectivity-example-app.c :linenos: :language: c :lines: 86-202 :lineno-start: 86 Close the context when finished. .. literalinclude:: connectivity-example-app.c :linenos: :language: c :lines: 204-214 :lineno-start: 204 .. toctree:: :maxdepth: 1