Websocket example

Dependencies:   C027 UbloxUSBModem WebSocketClient mbed

Fork of VodafoneUSBModemWebsocketTest by Donatien Garnier

Committer:
donatien
Date:
Wed Aug 29 14:01:05 2012 +0000
Revision:
4:0f0cd888156b
Parent:
2:cc30dc616fa2
Child:
7:745fa95221ba
Updated Websocket library & example code

Who changed what in which revision?

UserRevisionLine numberNew contents of line
donatien 2:cc30dc616fa2 1 #include "mbed.h"
donatien 2:cc30dc616fa2 2 #include "VodafoneUSBModem.h"
donatien 2:cc30dc616fa2 3 #include "Websocket.h"
donatien 2:cc30dc616fa2 4
donatien 2:cc30dc616fa2 5 void test(void const*)
donatien 2:cc30dc616fa2 6 {
donatien 2:cc30dc616fa2 7 VodafoneUSBModem modem;
donatien 2:cc30dc616fa2 8 Websocket ws("ws://sockets.mbed.org:443/ws/demo/rw");
donatien 2:cc30dc616fa2 9 char recv[128];
donatien 2:cc30dc616fa2 10
donatien 2:cc30dc616fa2 11 int ret = modem.connect("pp.vodafone.co.uk");
donatien 2:cc30dc616fa2 12 if(ret)
donatien 2:cc30dc616fa2 13 {
donatien 2:cc30dc616fa2 14 printf("Could not connect\n");
donatien 2:cc30dc616fa2 15 return;
donatien 2:cc30dc616fa2 16 }
donatien 2:cc30dc616fa2 17
donatien 4:0f0cd888156b 18 bool c = ws.connect();
donatien 4:0f0cd888156b 19 printf("Connect result: %s\n", c?"OK":"Failed");
donatien 4:0f0cd888156b 20
donatien 4:0f0cd888156b 21 for(int i = 0; i < 10000; i++)
donatien 2:cc30dc616fa2 22 {
donatien 2:cc30dc616fa2 23 if(!(i%100))
donatien 4:0f0cd888156b 24 {
donatien 4:0f0cd888156b 25 int ret = ws.send("WebSocket Hello World over the Vodafone Network!");
donatien 4:0f0cd888156b 26 if(ret<0)
donatien 4:0f0cd888156b 27 {
donatien 4:0f0cd888156b 28 printf("Timeout\n");
donatien 4:0f0cd888156b 29 ws.close();
donatien 4:0f0cd888156b 30 c = ws.connect();
donatien 4:0f0cd888156b 31 printf("Connect result: %s\n", c?"OK":"Failed");
donatien 4:0f0cd888156b 32 }
donatien 4:0f0cd888156b 33 }
donatien 4:0f0cd888156b 34
donatien 2:cc30dc616fa2 35 if (ws.read(recv)) {
donatien 2:cc30dc616fa2 36 printf("rcv: %s\r\n", recv);
donatien 2:cc30dc616fa2 37 }
donatien 4:0f0cd888156b 38
donatien 2:cc30dc616fa2 39 }
donatien 2:cc30dc616fa2 40
donatien 2:cc30dc616fa2 41 modem.disconnect();
donatien 2:cc30dc616fa2 42
donatien 2:cc30dc616fa2 43 while(1) {
donatien 2:cc30dc616fa2 44 }
donatien 2:cc30dc616fa2 45 }
donatien 2:cc30dc616fa2 46
donatien 2:cc30dc616fa2 47
donatien 2:cc30dc616fa2 48 int main()
donatien 2:cc30dc616fa2 49 {
donatien 2:cc30dc616fa2 50 Thread testTask(test, NULL, osPriorityNormal, 1024 * 4);
donatien 2:cc30dc616fa2 51 DigitalOut led(LED1);
donatien 2:cc30dc616fa2 52 while(1)
donatien 2:cc30dc616fa2 53 {
donatien 2:cc30dc616fa2 54 led=!led;
donatien 2:cc30dc616fa2 55 Thread::wait(1000);
donatien 2:cc30dc616fa2 56 }
donatien 2:cc30dc616fa2 57
donatien 2:cc30dc616fa2 58 return 0;
donatien 2:cc30dc616fa2 59 }