UDP Socket Hello World with Ethernet
Dependencies: mbed mbed-rtos EthernetInterface
mbed 2 and mbed OS 5
This is an mbed 2 example. For an mbed-os example, please see:
[Repository '/teams/mbed-os-examples/code/mbed-os-example-sockets/docs/tip/' not found]
main.cpp@10:1992d8ec32d2, 2014-05-14 (annotated)
- Committer:
- Kojto
- Date:
- Wed May 14 15:32:24 2014 +0000
- Revision:
- 10:1992d8ec32d2
- Parent:
- 7:dedf5dde9798
Update to the latest revisions
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
donatien | 1:8e1d4987eb90 | 1 | #include "mbed.h" |
donatien | 1:8e1d4987eb90 | 2 | #include "EthernetInterface.h" |
emilmont | 6:25aad2d88749 | 3 | |
emilmont | 6:25aad2d88749 | 4 | int main() { |
donatien | 1:8e1d4987eb90 | 5 | EthernetInterface eth; |
donatien | 1:8e1d4987eb90 | 6 | eth.init(); //Use DHCP |
donatien | 1:8e1d4987eb90 | 7 | eth.connect(); |
donatien | 1:8e1d4987eb90 | 8 | |
donatien | 1:8e1d4987eb90 | 9 | UDPSocket sock; |
emilmont | 6:25aad2d88749 | 10 | sock.init(); |
donatien | 1:8e1d4987eb90 | 11 | |
emilmont | 7:dedf5dde9798 | 12 | Endpoint nist; |
emilmont | 7:dedf5dde9798 | 13 | nist.set_address("utcnist.colorado.edu", 37); |
emilmont | 7:dedf5dde9798 | 14 | |
emilmont | 6:25aad2d88749 | 15 | char out_buffer[] = "plop"; // Does not matter |
emilmont | 7:dedf5dde9798 | 16 | sock.sendTo(nist, out_buffer, sizeof(out_buffer)); |
donatien | 1:8e1d4987eb90 | 17 | |
emilmont | 6:25aad2d88749 | 18 | char in_buffer[4]; |
emilmont | 7:dedf5dde9798 | 19 | int n = sock.receiveFrom(nist, in_buffer, sizeof(in_buffer)); |
donatien | 1:8e1d4987eb90 | 20 | |
emilmont | 6:25aad2d88749 | 21 | unsigned int timeRes = ntohl( *((unsigned int*)in_buffer)); |
emilmont | 7:dedf5dde9798 | 22 | printf("Received %d bytes from server %s on port %d: %u seconds since 1/01/1900 00:00 GMT\n", n, nist.get_address(), nist.get_port(), timeRes); |
emilmont | 6:25aad2d88749 | 23 | |
emilmont | 6:25aad2d88749 | 24 | sock.close(); |
emilmont | 6:25aad2d88749 | 25 | |
emilmont | 6:25aad2d88749 | 26 | eth.disconnect(); |
emilmont | 6:25aad2d88749 | 27 | while(1) {} |
donatien | 1:8e1d4987eb90 | 28 | } |