Websocket example
Dependencies: C027 UbloxUSBModem WebSocketClient mbed
Fork of VodafoneUSBModemWebsocketTest by
main.cpp@4:0f0cd888156b, 2012-08-29 (annotated)
- 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?
User | Revision | Line number | New 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 | } |