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:
Thu Jul 26 16:35:11 2012 +0000
Revision:
1:129986b437b1
Parent:
0:97e3476ef63e
Child:
2:3307c4a7c499
First implementation

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 1:129986b437b1 4 const char* ECHO_SERVER_ADDRESS = "10.2.131.73";
emilmont 1:129986b437b1 5 const int ECHO_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 1:129986b437b1 15 char out_buffer[] = "Hello World\n";
emilmont 1:129986b437b1 16 UDPPacket out_packet(out_buffer, sizeof(out_buffer));
emilmont 1:129986b437b1 17 out_packet.set_address(ECHO_SERVER_ADDRESS, ECHO_PORT);
emilmont 1:129986b437b1 18 sock.sendTo(out_packet);
emilmont 1:129986b437b1 19
emilmont 1:129986b437b1 20 char in_buffer[256];
emilmont 1:129986b437b1 21 UDPPacket in_packet(in_buffer, sizeof(in_buffer));
emilmont 1:129986b437b1 22 int n = sock.receiveFrom(in_packet);
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 1:129986b437b1 31 }