Skip to content

Commit 9252340

Browse files
authored
Merge pull request #103 from junhaoliao/master
bind on both IPv4 and IPv6 localhost
2 parents a78723b + cfa6529 commit 9252340

File tree

1 file changed

+6
-0
lines changed

1 file changed

+6
-0
lines changed

SimpleWebSocketServer/SimpleWebSocketServer.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -613,6 +613,12 @@ def __init__(self, host, port, websocketclass, selectInterval = 0.1):
613613
hostInfo = socket.getaddrinfo(host, port, fam, socket.SOCK_STREAM, socket.IPPROTO_TCP, socket.AI_PASSIVE)
614614
self.serversocket = socket.socket(hostInfo[0][0], hostInfo[0][1], hostInfo[0][2])
615615
self.serversocket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
616+
617+
if host is None:
618+
# bind on both IPv4 and IPv6 localhost
619+
# if we don't explicitly set this, the behaviour isn't guranteed on some platforms. e.g. Windows
620+
self.serversocket.setsockopt(socket.IPPROTO_IPV6, socket.IPV6_V6ONLY, 0)
621+
616622
self.serversocket.bind(hostInfo[0][4])
617623
self.serversocket.listen(5)
618624
self.selectInterval = selectInterval

0 commit comments

Comments
 (0)