![](/media/cache/img/default_profile.jpg.50x50_q85.jpg)
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; }