Example reception of multicast messages (broken)
Dependencies: EthernetInterface mbed-rtos mbed
Fork of MulticastReceive by
Legacy Warning
This is an mbed 2 example. To learn more about mbed OS 5, visit the docs.
main.cpp@1:f3060367c0f9, 2014-05-14 (annotated)
- Committer:
- Kojto
- Date:
- Wed May 14 15:42:32 2014 +0000
- Revision:
- 1:f3060367c0f9
- Parent:
- 0:c30ede6e9b30
Update to the latest revisions
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
emilmont | 0:c30ede6e9b30 | 1 | #include "mbed.h" |
emilmont | 0:c30ede6e9b30 | 2 | #include "EthernetInterface.h" |
emilmont | 0:c30ede6e9b30 | 3 | |
emilmont | 0:c30ede6e9b30 | 4 | const char* MCAST_GRP = "224.1.1.1"; |
emilmont | 0:c30ede6e9b30 | 5 | const int MCAST_PORT = 5007; |
emilmont | 0:c30ede6e9b30 | 6 | |
emilmont | 0:c30ede6e9b30 | 7 | int main() { |
emilmont | 0:c30ede6e9b30 | 8 | EthernetInterface eth; |
emilmont | 0:c30ede6e9b30 | 9 | eth.init(); //Use DHCP |
emilmont | 0:c30ede6e9b30 | 10 | eth.connect(); |
emilmont | 0:c30ede6e9b30 | 11 | |
emilmont | 0:c30ede6e9b30 | 12 | UDPSocket server; |
emilmont | 0:c30ede6e9b30 | 13 | server.bind(MCAST_PORT); |
emilmont | 0:c30ede6e9b30 | 14 | if (server.join_multicast_group(MCAST_GRP) != 0) { |
emilmont | 0:c30ede6e9b30 | 15 | printf("Error joining the multicast group\n"); |
emilmont | 0:c30ede6e9b30 | 16 | while (true) {} |
emilmont | 0:c30ede6e9b30 | 17 | } |
emilmont | 0:c30ede6e9b30 | 18 | |
emilmont | 0:c30ede6e9b30 | 19 | Endpoint client; |
emilmont | 0:c30ede6e9b30 | 20 | char buffer[256]; |
emilmont | 0:c30ede6e9b30 | 21 | while (true) { |
emilmont | 0:c30ede6e9b30 | 22 | printf("\nWait for packet...\n"); |
emilmont | 0:c30ede6e9b30 | 23 | int n = server.receiveFrom(client, buffer, sizeof(buffer)); |
emilmont | 0:c30ede6e9b30 | 24 | |
emilmont | 0:c30ede6e9b30 | 25 | printf("Packet from \"%s\": %s\n", client.get_address(), buffer); |
emilmont | 0:c30ede6e9b30 | 26 | } |
emilmont | 0:c30ede6e9b30 | 27 | } |