File tree Expand file tree Collapse file tree 3 files changed +28
-0
lines changed
Expand file tree Collapse file tree 3 files changed +28
-0
lines changed Original file line number Diff line number Diff line change @@ -101,6 +101,7 @@ namespace ix
101101 if (_addressFamily == AF_INET)
102102 {
103103 struct sockaddr_in server;
104+ memset (&server, ' \0 ' , sizeof (server));
104105 server.sin_family = _addressFamily;
105106 server.sin_port = htons (_port);
106107
@@ -130,6 +131,7 @@ namespace ix
130131 else // AF_INET6
131132 {
132133 struct sockaddr_in6 server;
134+ memset (&server, ' \0 ' , sizeof (server));
133135 server.sin6_family = _addressFamily;
134136 server.sin6_port = htons (_port);
135137
Original file line number Diff line number Diff line change @@ -26,6 +26,7 @@ set (TEST_TARGET_NAMES
2626 IXExponentialBackoffTest
2727 IXWebSocketCloseTest
2828 IXWebSocketHostTest
29+ IXWebSocketIPv6Test
2930)
3031
3132# Some unittest don't work on windows yet
Original file line number Diff line number Diff line change 1+ #include " IXTest.h"
2+ #include " catch.hpp"
3+ #include < ixwebsocket/IXWebSocket.h>
4+ #include < ixwebsocket/IXWebSocketServer.h>
5+
6+ using namespace ix ;
7+
8+ TEST_CASE (" IPv6" )
9+ {
10+ SECTION (" Listening on ::1 works with AF_INET6 works" )
11+ {
12+ int port = getFreePort ();
13+ ix::WebSocketServer server (port,
14+ " ::1" ,
15+ SocketServer::kDefaultTcpBacklog ,
16+ SocketServer::kDefaultMaxConnections ,
17+ WebSocketServer::kDefaultHandShakeTimeoutSecs ,
18+ AF_INET6);
19+
20+ auto res = server.listen ();
21+ CHECK (res.first );
22+ server.start ();
23+ server.stop ();
24+ }
25+ }
You can’t perform that action at this time.
0 commit comments