Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- vRunNTPServer (void* pvParameters)
- {
- if ((sock = lwip_socket(AF_INET, SOCK_DGRAM, 0)) == -1)
- perrorx("Socket");
- server_addr.sin_family = AF_INET;
- server_addr.sin_port = htons(webNTP_PORT);
- server_addr.sin_addr.s_addr = INADDR_ANY;
- memset(&(server_addr.sin_zero),0, 8);
- if (lwip_bind(sock, (struct sockaddr*) &server_addr, sizeof(struct sockaddr)) == -1)
- perrorx("Bind");
- addr_len = sizeof(struct sockaddr);
- while (1)
- {
- bytes_read = lwip_recvfrom(sock,recv_data, TCP_MSS, 0, (struct sockaddr*) &client_addr, &addr_len);
- if (bytes_read == (signed int) sizeof(sntp_message_t))
- {
- sntp_message_t reply;
- memset(&reply, 0, sizeof(reply));
- // Fill reply struct...
- if (lwip_sendto(socket, &reply, sizeof(reply), 0, (struct sockaddr*) receiver, recvlen) < 0)
- {
- // print send error
- }
- }
- else
- {
- // print receive size mismatch error
- }
- } // while
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement