WORKS

Dependencies:   MAX44000 PWM_Tone_Library nexpaq_mdk

Fork of LED_Demo by Maxim nexpaq

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers main.cpp Source File

main.cpp

00001 #include "mbed.h"
00002 #include "test_env.h"
00003 #include "EthernetInterface.h"
00004 
00005 namespace {
00006     const int ECHO_SERVER_PORT = 7;
00007     const int BUFFER_SIZE = 64;
00008 }
00009 
00010 int main (void) {
00011     MBED_HOSTTEST_TIMEOUT(20);
00012     MBED_HOSTTEST_SELECT(udpecho_server_auto);
00013     MBED_HOSTTEST_DESCRIPTION(UDP echo server);
00014     MBED_HOSTTEST_START("NET_5");
00015 
00016     EthernetInterface eth;
00017     eth.init(); //Use DHCP
00018     eth.connect();
00019     printf("MBED: Server IP Address is %s:%d\r\n", eth.getIPAddress(), ECHO_SERVER_PORT);
00020 
00021     UDPSocket server;
00022     server.bind(ECHO_SERVER_PORT);
00023 
00024     Endpoint client;
00025     char buffer[BUFFER_SIZE] = {0};
00026     printf("MBED: Waiting for packet...\r\n");
00027     while (true) {
00028         int n = server.receiveFrom(client, buffer, sizeof(buffer));
00029         if (n > 0) {
00030             //printf("Received packet from: %s\n", client.get_address());
00031             const int buffer_string_end_index = n >= BUFFER_SIZE ? BUFFER_SIZE-1 : n;
00032             buffer[buffer_string_end_index] = '\0';
00033             //printf("Server received: %s\n", buffer);
00034             server.sendTo(client, buffer, n);
00035         }
00036     }
00037 }