UDP Echo Client example

Dependencies:   EthernetInterface mbed-rtos mbed

Deprecated

This is an mbed 2 networking example. For mbed OS 5, the networking libraries have been revised to better support additional network stacks and thread safety here.

Committer:
mbedAustin
Date:
Tue May 05 20:08:56 2015 +0000
Revision:
8:ae11db01fb2d
Parent:
5:263b6859d55c
Child:
9:4f1a786624de
added more verbose output for terminal

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mbed_official 0:97e3476ef63e 1 #include "mbed.h"
emilmont 1:129986b437b1 2 #include "EthernetInterface.h"
emilmont 1:129986b437b1 3
mbedAustin 8:ae11db01fb2d 4 const char* ECHO_SERVER_ADDRESS = "192.168.2.2";
emilmont 2:3307c4a7c499 5 const int ECHO_SERVER_PORT = 7;
emilmont 1:129986b437b1 6
emilmont 1:129986b437b1 7 int main() {
emilmont 1:129986b437b1 8 EthernetInterface eth;
emilmont 1:129986b437b1 9 eth.init(); //Use DHCP
emilmont 1:129986b437b1 10 eth.connect();
mbedAustin 8:ae11db01fb2d 11 printf("\nClient IP Address is %s \n", eth.getIPAddress());
emilmont 1:129986b437b1 12
emilmont 1:129986b437b1 13 UDPSocket sock;
emilmont 1:129986b437b1 14 sock.init();
emilmont 1:129986b437b1 15
emilmont 2:3307c4a7c499 16 Endpoint echo_server;
emilmont 2:3307c4a7c499 17 echo_server.set_address(ECHO_SERVER_ADDRESS, ECHO_SERVER_PORT);
emilmont 2:3307c4a7c499 18
mbedAustin 8:ae11db01fb2d 19 char out_buffer[] = "Hello World";
mbedAustin 8:ae11db01fb2d 20 printf("Sending message '%s' to server (%s)\n",out_buffer,ECHO_SERVER_ADDRESS);
emilmont 2:3307c4a7c499 21 sock.sendTo(echo_server, out_buffer, sizeof(out_buffer));
emilmont 1:129986b437b1 22
emilmont 1:129986b437b1 23 char in_buffer[256];
emilmont 2:3307c4a7c499 24 int n = sock.receiveFrom(echo_server, in_buffer, sizeof(in_buffer));
emilmont 1:129986b437b1 25
emilmont 1:129986b437b1 26 in_buffer[n] = '\0';
mbedAustin 8:ae11db01fb2d 27 printf("Received message from server: '%s'\n", in_buffer);
emilmont 1:129986b437b1 28
emilmont 1:129986b437b1 29 sock.close();
emilmont 1:129986b437b1 30
emilmont 1:129986b437b1 31 eth.disconnect();
emilmont 1:129986b437b1 32 while(1) {}
emilmont 3:281043c08f67 33 }