UDP Echo Server example

Dependencies:   EthernetInterface mbed-rtos mbed

Committer:
mbed_official
Date:
Tue Feb 14 16:54:31 2017 +0000
Revision:
5:0d4087d2486d
Parent:
2:6b1012d93eb2
More verbose example. Update libraries.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mbed_official 0:3e54841149df 1 #include "mbed.h"
emilmont 1:3f409cd0bede 2 #include "EthernetInterface.h"
mbed_official 5:0d4087d2486d 3
emilmont 2:6b1012d93eb2 4 #define ECHO_SERVER_PORT 7
mbed_official 5:0d4087d2486d 5
emilmont 1:3f409cd0bede 6 int main (void) {
emilmont 1:3f409cd0bede 7 EthernetInterface eth;
emilmont 1:3f409cd0bede 8 eth.init(); //Use DHCP
emilmont 1:3f409cd0bede 9 eth.connect();
mbed_official 5:0d4087d2486d 10 printf("\nServer IP Address is %s\n", eth.getIPAddress());
emilmont 1:3f409cd0bede 11
emilmont 1:3f409cd0bede 12 UDPSocket server;
emilmont 2:6b1012d93eb2 13 server.bind(ECHO_SERVER_PORT);
emilmont 1:3f409cd0bede 14
emilmont 2:6b1012d93eb2 15 Endpoint client;
emilmont 1:3f409cd0bede 16 char buffer[256];
emilmont 1:3f409cd0bede 17 while (true) {
mbed_official 5:0d4087d2486d 18 printf("\nWaiting for UDP packet...\n");
emilmont 2:6b1012d93eb2 19 int n = server.receiveFrom(client, buffer, sizeof(buffer));
mbed_official 5:0d4087d2486d 20 buffer[n] = '\0';
emilmont 1:3f409cd0bede 21
emilmont 2:6b1012d93eb2 22 printf("Received packet from: %s\n", client.get_address());
mbed_official 5:0d4087d2486d 23 printf("Packet contents : '%s'\n",buffer);
mbed_official 5:0d4087d2486d 24 printf("Sending Packet back to Client\n");
emilmont 2:6b1012d93eb2 25 server.sendTo(client, buffer, n);
emilmont 1:3f409cd0bede 26 }
mbed_official 5:0d4087d2486d 27 }