#include "lwip/opt.h" #include "lwip/sys.h" #include "tcp_server.h" #include #include #include "gd32f30x.h" #include "main.h" #include "lwip/tcp.h" #include "lwip/memp.h" #include "lwip/api.h" #include "sockets.h" #include "log.h" void tcp_server_task(void *pvParameters) { int ret,sockfd; struct sockaddr_in tcpServerSock; struct sockaddr_in client_sock; tcpServerSock.sin_family = AF_INET; inet_aton("192.168.2.222",&(tcpServerSock.sin_addr)); // tcpServerSock.sin_addr.s_addr = htonl(IPADDR_ANY); tcpServerSock.sin_port = htons(8080); tcp_server_begin: sockfd = socket(AF_INET, SOCK_STREAM, 0); if (sockfd < 0) { goto tcp_server_begin; } ret = bind(sockfd, (struct sockaddr *)&tcpServerSock, sizeof(tcpServerSock)); if (ret < 0) { lwip_close(sockfd); sockfd = -1; goto tcp_server_begin; } ret = listen(sockfd, 10); if (ret < 0) { lwip_close(sockfd); sockfd = -1; goto tcp_server_begin; } while (1) { vTaskDelay(1000); socklen_t len = sizeof(client_sock); int client_socket = accept(sockfd, (struct sockaddr*)&client_sock,&len); if (client_socket<0) { printf("error"); } // LogPrint(LOG_INFO,); } } /*! \brief initialize the tcp_client application \param[in] none \param[out] none \retval none */ void tcp_server_init(void) { xTaskCreate(tcp_server_task, "TCP_CLIENT", DEFAULT_THREAD_STACKSIZE, NULL, 1, NULL); }