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:
emilmont
Date:
Fri Feb 15 17:03:34 2013 +0000
Revision:
3:281043c08f67
Parent:
2:3307c4a7c499
Child:
4:2d454b6fe7ec
Update imported libraries

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
emilmont 2:3307c4a7c499 4 const char* ECHO_SERVER_ADDRESS = "192.168.0.51";
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();
emilmont 1:129986b437b1 11
emilmont 1:129986b437b1 12 UDPSocket sock;
emilmont 1:129986b437b1 13 sock.init();
emilmont 1:129986b437b1 14
emilmont 2:3307c4a7c499 15 Endpoint echo_server;
emilmont 2:3307c4a7c499 16 echo_server.set_address(ECHO_SERVER_ADDRESS, ECHO_SERVER_PORT);
emilmont 2:3307c4a7c499 17
emilmont 1:129986b437b1 18 char out_buffer[] = "Hello World\n";
emilmont 2:3307c4a7c499 19 sock.sendTo(echo_server, out_buffer, sizeof(out_buffer));
emilmont 1:129986b437b1 20
emilmont 1:129986b437b1 21 char in_buffer[256];
emilmont 2:3307c4a7c499 22 int n = sock.receiveFrom(echo_server, in_buffer, sizeof(in_buffer));
emilmont 1:129986b437b1 23
emilmont 1:129986b437b1 24 in_buffer[n] = '\0';
emilmont 1:129986b437b1 25 printf("%s\n", in_buffer);
emilmont 1:129986b437b1 26
emilmont 1:129986b437b1 27 sock.close();
emilmont 1:129986b437b1 28
emilmont 1:129986b437b1 29 eth.disconnect();
emilmont 1:129986b437b1 30 while(1) {}
emilmont 3:281043c08f67 31 }