|
static uint16_t | calcPseudoHeaderChecksum (uint8_t protocol, uint16_t length) |
| Calculates the TCP or UDP pseudo header checksum. More...
|
|
static uint16_t | calcTCPChecksum (bool options, uint16_t dataLength, uint16_t dataChecksum) |
| Calculates the TCP checksum. More...
|
|
static uint16_t | calcUDPChecksum (uint16_t dataLength, uint16_t dataChecksum) |
| Calculates the UDP checksum. More...
|
|
static bool | verifyUDPTCPChecksum () |
| Verifies if the UDP or TCP checksum of the current packet is correct. More...
|
|
static bool | sendIPPacket (uint16_t length) |
| Puts the current in-memory packet in the network More...
|
|
static void | prepareIPPacket (const IPAddress &remoteIP) |
| Sets up common IP header values for all outgoing IP packets and calculates the IP header checksum More...
|
|
static bool | sameLAN (IPAddress &dst) |
| Determines whether the given IP is in the same subnet as localIP More...
|
|
static bool | begin (uint8_t cspin) |
| Initializes EtherDune and the underlying hardware More...
|
|
static void | loop () |
| Gives processing time to EtherDune so that it can check for incoming packets or send queued packets. More...
|
|
static DNSClient & | DNS () |
| Obtains access to the DNS service singleton instance. More...
|
|
static void | writeByte (byte b) |
|
static void | writeByte (uint16_t dst, byte b) |
|
static void | writeBuf (uint16_t dst, uint16_t len, const byte *data) |
|
static void | writeBuf (uint16_t len, const byte *data) |
|
static uint16_t | hardwareChecksum (uint16_t src, uint16_t len) |
|
static uint16_t | hardwareChecksumRxOffset (uint16_t offset, uint16_t len) |
|
static void | moveMem (uint16_t dest, uint16_t src, uint16_t len) |
|
static void | readBuf (uint16_t src, uint16_t len, byte *data) |
|
static void | readBuf (uint16_t len, byte *data) |
|
static byte | readByte (uint16_t src) |
|
static void | packetSend (uint16_t len) |
|
static void | packetSend (uint16_t len, const byte *data) |
|
static void | loadSample () |
|
static void | loadAll () |
|
static void | release () |
|
static uint8_t | begin (uint8_t cspin) |
|
static void | loop () |
|
static void | enableBroadcast () |
|
static bool | isLinkUp () |
| Determines whether the network link is ready More...
|
|
Base class for TCP and UDP sockets.
Definition at line 37 of file Socket.h.
uint16_t Socket::write |
( |
const String & |
s | ) |
|
In the case of TCP, writes the given String to the socket, not including the null-terminating character.
For UDP sockets, appends the given String to the current packet being built, not including the null-terminating character.
- Parameters
-
- Returns
- Number of bytes written
Definition at line 70 of file Socket.cpp.
uint16_t Socket::write |
( |
const __FlashStringHelper * |
pattern, |
|
|
|
... |
|
) |
| |
Writes out the specified PROGMEM string that may contain the % escape character.
For each % found, the next argument in the variable arguments list is output instead. Variable arguments must be of type String*. To actually write a %, put two %%.
- Parameters
-
pattern | Pattern PROGMEM string. You can produce this string by using the F() macro |
... | Optional substitution String* pointers, one for each % in the pattern string |
- Returns
- Number of bytes written
String status(200);
String statusMessage(F("OK"));
String contentType(F("text/html"));
String message(F("Hello World!"));
socket.write(F("HTTP % %\r\nContent-Type:%\r\n\r\n<html><body><h1>%</h1></body></html>"),
&status, &statusMessage, &contentType, &message);
Output:
HTTP 200 OK
Content-Type:text/html
<html><body><h1>Hello World!</h1></body></html>
Definition at line 103 of file Socket.cpp.
template<class T >
uint16_t Socket::write |
( |
const T & |
message | ) |
|
|
inline |
Writes out the binary representation of the parameter to the socket.
If used with a null-terminated string constant, it will output the string including the null-terminating character \0.
If used with datatypes such as int, it will output the actual binary representation of an integer, not the ASCII visual representation of it.
Useful to serialize structs or complex types for sending.
See UDPClientDemo_NTPClient.ino for an example usage
- Parameters
-
- Returns
- Number of bytes written
struct
{
int status;
byte code;
} message;
message.status = 200;
message.code = 10;
socket.write(message);
Definition at line 87 of file Socket.h.