SimpleSocket 1.0 examples
Dependencies: EthernetNetIf SimpleSocket 1.0 mbed
Diff: findbuddy.cpp
- Revision:
- 40:84182fc63956
- Parent:
- 39:108499af2b53
--- a/findbuddy.cpp Wed Jun 06 03:34:16 2012 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,38 +0,0 @@ -#include "EthernetNetIf.h" -#include "SimpleSocket.h" - -void findbuddy() { - EthernetNetIf eth; - eth.setup(); - - IpAddr myIP = eth.getIp(); - DatagramSocket datagram(myIP, 7777); - - Host buddy; - for (int i = myIP[3] + 1;; i = (i - myIP[3] + 260) % 10 + myIP[3] + 1) { - printf("sending message to %d.%d.%d.%d\n", myIP[0], myIP[1], myIP[2], i); - datagram.printf("Hello World\n"); - datagram.send(IpAddr(myIP[0], myIP[1], myIP[2], i), 7777); - // this will not reach target during the first round, - // and in order to receive successfully, - // timeout must be at least 4 seconds (default = 5.0 seconds) - if (datagram.receive(&buddy, 4) > 0) { - IpAddr ip = buddy.getIp(); - char buf[80] = {}; - int len = datagram.read(buf, sizeof(buf) - 1); - printf("received from %d.%d.%d.%d: %s", ip[0],ip[1], ip[2], ip[3], buf); - break; - } - } - - for (int i = 0; i < 2; i++) { - datagram.printf("There you are!\n"); - datagram.send(buddy.getIp(), 7777); - - if (datagram.receive() > 0) { - char buf[80] = {}; - int len = datagram.read(buf, sizeof(buf) - 1); - printf("received: %s", buf); - } - } -} \ No newline at end of file