diff options
author | diSabler <dissy@ya.ru> | 2013-02-02 23:00:04 +0400 |
---|---|---|
committer | diSabler <dissy@ya.ru> | 2013-02-02 23:00:04 +0400 |
commit | e9c67ff14c915e3698dd80f912f39f44204a6337 (patch) | |
tree | 7bab872dc7ea76fc52b4c3da1cb61fe2849c8111 /lib | |
parent | 51a4653c669f3dbc9a47539e9f79c95a19e53ddf (diff) |
add: ipv6 support
Diffstat (limited to 'lib')
-rw-r--r-- | lib/xmpp/transports.py | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/lib/xmpp/transports.py b/lib/xmpp/transports.py index 34f3c9c..11a89df 100644 --- a/lib/xmpp/transports.py +++ b/lib/xmpp/transports.py @@ -129,8 +129,14 @@ class TCPsocket(PlugIn): Returns non-empty string on success. """ try: if not server: server=self._server - self._sock=socket.socket(socket.AF_INET, socket.SOCK_STREAM) - self._sock.connect((server[0], int(server[1]))) + if ':' in server[0]: + # ipv6 + self._sock=socket.socket(socket.AF_INET6, socket.SOCK_STREAM) + self._sock.connect((server[0], int(server[1]),0,0)) + else: + # ipv4 + self._sock=socket.socket(socket.AF_INET, socket.SOCK_STREAM) + self._sock.connect((server[0], int(server[1]))) self._send=self._sock.sendall self._recv=self._sock.recv self.DEBUG("Successfully connected to remote host %s"%`server`,'start') |