#include #include #include #include #include #include #include #include #include const uint8_t TCPTEST_SOCK; uint8_t remoteAddr[] = { 172, 16, 3, 31 }; uint16_t remotePort = 5000; void tcpTestHandler(void *handle) { static uint8_t state = 0; int8_t res = 0; if (isNetworkAvailable()) { switch (state) { case 0: coloredMsg(LOG_YELLOW, "tth, initializing socket"); res = socket(TCPTEST_SOCK, Sn_MR_TCP, 12345, SF_IO_NONBLOCK); coloredMsg(LOG_YELLOW, "tth, socket returns %d", res); if (res == TCPTEST_SOCK) { coloredMsg(LOG_YELLOW, "tth, socket is initialized"); state = 1; } break; case 1: coloredMsg(LOG_YELLOW, "tth, connecting"); res = connect(TCPTEST_SOCK, remoteAddr, remotePort); coloredMsg(LOG_YELLOW, "tth, connect returns %d", res); state = 255; break; case 255: coloredMsg(LOG_YELLOW, "tth, error state, will stop here"); schDel(tcpTestHandler, NULL); break; } } else { coloredMsg(LOG_YELLOW, "tth, network not yet ready"); } } void tcpTestInit() { schAdd(tcpTestHandler, NULL, 0, 100); }