http://mbed.org/users/okini3939/notebook/node_websocket/
Dependencies: EthernetNetIf mbed MbedJSONValue
main.cpp
- Committer:
- okini3939
- Date:
- 2011-11-02
- Revision:
- 0:236a084b1d6b
File content as of revision 0:236a084b1d6b:
#include "mbed.h" #include "Websocket.h" #include "MbedJSONValue.h" #include "EthernetNetIf.h" #define BASE_URL "ws://host.domain.name:8080/" DigitalOut myled(LED1); Serial pc(USBTX, USBRX); EthernetNetIf *eth; Websocket *ws; int main() { int i = 0; char buf[100]; MbedJSONValue json; Timer timer; eth = new EthernetNetIf(); EthernetErr ethErr = eth->setup(); if (ethErr) { pc.printf("\r\nERROR %d in setup.\r\n", ethErr); } ws = new Websocket(BASE_URL "test", eth); pc.printf("begin\r\n"); json["hello"] = "mbed"; json["num"] = i; while(! ws->connect()) { pc.printf("cannot connect websocket, retrying...\r\n"); wait(2); } timer.start(); while(1) { Net::poll(); if (timer.read_ms() >= 2000) { json["num"] = i ++; ws->send((char*)json.serialize().c_str()); timer.reset(); myled = myled ? 0 : 1; } if (ws->read(buf)) { pc.printf("recv: %s\r\n", buf); } Net::poll(); if (! ws->connected()) { pc.printf("disconnected\r\n"); break; } } }