Hiroshi Yamaguchi / Mbed 2 deprecated SimpleSocketExamples 1.0

Dependencies:   EthernetNetIf SimpleSocket 1.0 mbed

Committer:
yamaguch
Date:
Fri Nov 04 06:04:36 2011 +0000
Revision:
34:a108bcc26b69
Parent:
33:39d9cdf99de8
removed Serial mon,;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
yamaguch 32:00114e36de90 1 #include "EthernetNetIf.h"
yamaguch 32:00114e36de90 2 #include "SimpleSocket.h"
yamaguch 32:00114e36de90 3
yamaguch 32:00114e36de90 4 void ntpclient() {
yamaguch 33:39d9cdf99de8 5 EthernetNetIf eth;
yamaguch 33:39d9cdf99de8 6 eth.setup();
yamaguch 34:a108bcc26b69 7
yamaguch 32:00114e36de90 8 char *NTP_SERVER = "pool.ntp.org";
yamaguch 33:39d9cdf99de8 9 printf("ntp server = %s\n", NTP_SERVER);
yamaguch 32:00114e36de90 10
yamaguch 32:00114e36de90 11 while (true) {
yamaguch 32:00114e36de90 12 DatagramSocket datagram;
yamaguch 33:39d9cdf99de8 13 char buf[48] = {0x23}; // 00100011 LI(0), Version(4), Mode(3: Client)
yamaguch 32:00114e36de90 14 datagram.write(buf, sizeof(buf));
yamaguch 32:00114e36de90 15 datagram.send(NTP_SERVER, 123);
yamaguch 32:00114e36de90 16
yamaguch 32:00114e36de90 17 if (datagram.receive() > 0) {
yamaguch 33:39d9cdf99de8 18 if (datagram.read(buf, sizeof(buf)) > 0) {
yamaguch 32:00114e36de90 19 unsigned long seconds = 0;
yamaguch 32:00114e36de90 20 for (int i = 40; i <= 43; i++)
yamaguch 32:00114e36de90 21 seconds = (seconds << 8) | buf[i];
yamaguch 33:39d9cdf99de8 22 set_time(time_t(seconds - 2208988800ULL));
yamaguch 33:39d9cdf99de8 23 char timestamp[16];
yamaguch 32:00114e36de90 24 time_t jstime = time(NULL) + 9 * 3600;
yamaguch 33:39d9cdf99de8 25 strftime(timestamp, sizeof(timestamp), "%m/%d %X", localtime(&jstime));
yamaguch 33:39d9cdf99de8 26 printf("Time: %s\n", timestamp);
yamaguch 32:00114e36de90 27 break;
yamaguch 32:00114e36de90 28 }
yamaguch 33:39d9cdf99de8 29 } else {
yamaguch 33:39d9cdf99de8 30 printf("no answer\n");
yamaguch 33:39d9cdf99de8 31 wait(1.0);
yamaguch 32:00114e36de90 32 }
yamaguch 32:00114e36de90 33 }
yamaguch 32:00114e36de90 34 }