Skip to content

Commit ac21e7d

Browse files
authored
Fix WiFiServer IPv4 in IPv6
1 parent 9f680df commit ac21e7d

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

libraries/WiFi/src/WiFiServer.cpp

+2-2
Original file line numberDiff line numberDiff line change
@@ -82,16 +82,16 @@ void WiFiServer::begin(uint16_t port, int enable){
8282
return;
8383
setsockopt(sockfd, SOL_SOCKET, SO_REUSEADDR, &enable, sizeof(int));
8484
server.sin6_family = AF_INET6;
85+
memset(server.sin6_addr.s6_addr, 0x0, 16);
8586
if (_addr.type() == IPv4) {
8687
// log_e("---------------- IPv4");
87-
memcpy(server.sin6_addr.s6_addr+11, (uint8_t*)&_addr[0], 4);
88+
memcpy(server.sin6_addr.s6_addr+12, (uint8_t*)&_addr[0], 4);
8889
server.sin6_addr.s6_addr[10] = 0xFF;
8990
server.sin6_addr.s6_addr[11] = 0xFF;
9091
} else {
9192
// log_e("---------------- IPv6");
9293
memcpy(server.sin6_addr.s6_addr, (uint8_t*)&_addr[0], 16);
9394
}
94-
memset(server.sin6_addr.s6_addr, 0x0, 16);
9595
server.sin6_port = htons(_port);
9696
if(bind(sockfd, (struct sockaddr *)&server, sizeof(server)) < 0)
9797
return;

0 commit comments

Comments
 (0)