#include "tcp_server.h" #include "lwip/sockets.h" #include "station.h" portTASK_FUNCTION(tcp_server, params) { ws_params_t* ws_params = (ws_params_t*) params; wifi_init_station("Wort", "JoshIsBau5"); int s = socket(AF_INET, SOCK_STREAM, 0); struct sockaddr_in addr; memset(&addr, 0, sizeof(addr)); addr.sin_port = htons(1234); addr.sin_family = AF_INET; addr.sin_addr.s_addr = INADDR_ANY; int err = bind(s, (struct sockaddr*)&addr, sizeof(addr)); if (err) { printf("Error binding to sockaddr: %d\n", err); return; } printf("Listening ...\n"); listen(s, 1); while (true) { printf("Waiting for connection... \n"); struct sockaddr_in client_addr; socklen_t size; int sock = accept(s, (struct sockaddr*)&client_addr, &size); printf("Accepted connection\n"); ssize_t len; while ((len = read(sock, ws_params->color, sizeof(ws_params->color) - 1)) > 0) { ws_params->color[len] = 0; printf("Read %s\n", ws_params->color); } } }