Base class for IP Based Networking Libraries

Dependencies:   DnsQuery

Dependents:   TempTower BSDInterfaceTests HelloBSDInterface ESP8266InterfaceTests ... more

For a complete getting started guide see the wiki...

Network Socket API

The Network Socket API provides a common interface for using sockets on network devices. The API provides a simple class-based interface that should be familiar to users experienced with other socket APIs. Additionally, the API provides a simple interface for implementing network devices, making it easy to connect hardware agnostic programs to new devices.

Network Interfaces

The NetworkInterface provides an abstract class for network devices that support sockets. Devices should provide a DeviceInterface class that inherits this interface and adds implementation specific methods for using the device. A NetworkInterface must be provided to a Socket constructor to open a socket on the interface. Currently two subclasses are defined for common devices, EthernetInterface and WiFiInterface.

Sockets

The Socket class is used for managing network sockets. Once opened, the socket provides a pipe through which data can sent and recieved to a specific endpoint. The socket class can be instantiated as either a TCPSocket or a UDPSocket which defines the protocol used for the connection.

Revisions of TCPSocket.cpp

Revision Date Message Actions
118:96627c4b83d5 2016-04-20 Fix for timeout issue with WFI File  Diff  Annotate
117:ff83eb6a1ab9 2016-04-20 Fix bug in timeout logic File  Diff  Annotate
116:bc043343d753 2016-04-20 Added WFI to save power in temporary polling implementation File  Diff  Annotate
115:950b19eb0f02 2016-04-20 Consolidate set_timeout/set_blocking behaviour to avoid ambiguity when both are used and match python behaviour File  Diff  Annotate
105:2fd212f8da61 2016-04-19 Rename Interface -> Stack File  Diff  Annotate
102:9002476b9136 2016-04-19 Removed is_connected function File  Diff  Annotate
96:656011e49d9f 2016-04-19 Added better support for SocketAddress/string addresses/ports File  Diff  Annotate
92:dd5f19874adf 2016-04-19 Move to single state-change interrupt File  Diff  Annotate
90:0a988e4abb72 2016-04-19 Add open call as alternative to passing NetworkInterface at construction File  Diff  Annotate
89:b1d417383c0d 2016-04-19 Adopt mbed style doxygen comments File  Diff  Annotate
87:94e2cf3a06be 2016-04-05 Refactored enums File  Diff  Annotate
82:97d166c4a193 2016-04-05 Added temporary polling for blocking sockets File  Diff  Annotate
81:1600369a29dd 2016-04-05 Added proper forwarding for interrupt driven callbacks File  Diff  Annotate
80:9c6673c93082 2016-04-05 Added support for DNS resolution File  Diff  Annotate
79:43a7e8c0d6cc 2016-04-05 Added rough implementation of the API shim File  Diff  Annotate
32:2c5fc105fc50 2016-02-22 Added open/close calls to all sockets File  Diff  Annotate
30:3cc78f5db99d 2016-02-22 Standardized formatting File  Diff  Annotate
28:163fbe3263f4 2016-02-18 Removed memory allocations for internal buffers File  Diff  Annotate
25:ed7b2a52e8ac 2016-02-18 Added abstract base case for Sockets File  Diff  Annotate
24:a5e959bdd2dd 2016-02-18 Added setURL for DNS lookups File  Diff  Annotate
22:4fca633c0633 2016-02-18 Added implementation for UDPSocket/TCPSocket File  Diff  Annotate