sample program of Web socket server.
Dependencies: mbed WS_SERVER EthernetInterface HTTP_SERVER
main.cpp
- Committer:
- aktk
- Date:
- 2020-10-21
- Revision:
- 0:6a6f021d1f40
File content as of revision 0:6a6f021d1f40:
#include "mbed.h"
#include "WS_SERVER.h"
#include "HTTP_SERVER.h"
#include "rtos.h"
#ifndef DEBUG
//#define DEBUG
#endif
WSS wss(1024);
HttpServer httpsvr;
DigitalOut led1(LED1);
DigitalOut led2(LED2);
DigitalOut led3(LED3);
DigitalOut led4(LED4);
Serial pc(USBTX, USBRX);
void httpServerThread(void const* argument)
{
if(httpsvr.init()) {
if(httpsvr.run() == 0)
printf("end\r\n");
else
printf("error end\r\n");
}
}
void test(void const* argument)
{
while(true) { //wss.isListening()) {
led1 = !led1;
Thread::wait(500);
}
}
void websocketServerThread()//void const* argument)
{
//
// Websocket communication
//
//wss.txPing();
if(wss.init()) {
while(wss.isListening())wss.run();
}
// -----Websocket com end-----
led3=led4=0;
}
void printRxData(void const* argument)
{
char l_data;
wss.txPing();
while(1) {
if(wss.isReadable()) {
l_data = (char)wss.getRxData();
printf("(printRxData) %c(%d) \r\n", l_data, l_data);
}
else{
printf("no printings\r\n");
Thread::wait(500);
}
}
}
int main()
{
//Thread httpListener(httpServerThread, NULL, osPriorityNormal, (DEFAULT_STACK_SIZE * 2.25));
//httpServerThread();
Thread wssListener(websocketServerThread, NULL, osPriorityNormal, (DEFAULT_STACK_SIZE * 2.25));
//Thread::wait(5000);
Thread printTaske(printRxData);
//websocketServerThread();
//wssListener.start(websocketServerThread);
//printTaske.start(printRxData);
//wssListener.terminate();
//printTaske.terminate();
return 0;
}