UDP Echo Server example

Dependencies:   EthernetInterface mbed-rtos mbed

Fork of UDPEchoServer by mbed official

Committer:
mbedAustin
Date:
Tue May 05 20:08:42 2015 +0000
Revision:
6:bd7f46b6fa23
Parent:
2:6b1012d93eb2
added more verbose output for terminal

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"
emilmont 1:3f409cd0bede 3
emilmont 2:6b1012d93eb2 4 #define ECHO_SERVER_PORT 7
emilmont 2:6b1012d93eb2 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();
mbedAustin 6:bd7f46b6fa23 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) {
mbedAustin 6:bd7f46b6fa23 18 printf("\nWaiting for UDP packet...\n");
emilmont 2:6b1012d93eb2 19 int n = server.receiveFrom(client, buffer, sizeof(buffer));
mbedAustin 6:bd7f46b6fa23 20 buffer[n] = '\0';
emilmont 1:3f409cd0bede 21
emilmont 2:6b1012d93eb2 22 printf("Received packet from: %s\n", client.get_address());
mbedAustin 6:bd7f46b6fa23 23 printf("Packet contents : '%s'\n",buffer);
mbedAustin 6:bd7f46b6fa23 24 printf("Sending Packet back to Client\n");
emilmont 2:6b1012d93eb2 25 server.sendTo(client, buffer, n);
emilmont 1:3f409cd0bede 26 }
emilmont 1:3f409cd0bede 27 }