UDP Echo Client example
Dependencies: EthernetInterface mbed-rtos mbed
Fork of UDPEchoClient by
main.cpp@8:ae11db01fb2d, 2015-05-05 (annotated)
- 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?
User | Revision | Line number | New 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 | } |