Websocket client test with Vodafone USB Modems

Dependencies:   WebSocketClient VodafoneUSBModem mbed mbed-rtos

Fork of VodafoneK3770WebsocketTestBeta by Donatien Garnier

main.cpp

Committer:
donatien
Date:
2012-10-30
Revision:
6:1d5e4acc9f97
Parent:
4:0f0cd888156b

File content as of revision 6:1d5e4acc9f97:

#include "mbed.h"
#include "VodafoneUSBModem.h"
#include "Websocket.h"

void test(void const*) 
{
    VodafoneUSBModem modem;
    Websocket ws("ws://sockets.mbed.org:443/ws/demo/rw");
    char recv[128];
    
    int ret = modem.connect("pp.vodafone.co.uk");
    if(ret)
    {
      printf("Could not connect\n");
      return;
    }
    
    bool c = ws.connect();
    printf("Connect result: %s\n", c?"OK":"Failed");
    
    for(int i = 0; i < 10000; i++)
    {
        if(!(i%100))
        {
          int ret = ws.send("WebSocket Hello World over the Vodafone Network!");
          if(ret<0)
          {
            printf("Timeout\n");
            ws.close();
            c = ws.connect();
            printf("Connect result: %s\n", c?"OK":"Failed");
          }
        }
        
        if (ws.read(recv)) {
            printf("rcv: %s\r\n", recv);
        }

    }
    
    modem.disconnect();  

    while(1) {
    }
}


int main()
{
  Thread testTask(test, NULL, osPriorityNormal, 1024 * 4);
  DigitalOut led(LED1);
  while(1)
  {
    led=!led;
    Thread::wait(1000);  
  }

  return 0;
}