aboutsummaryrefslogtreecommitdiff
path: root/src/socket.lua
diff options
context:
space:
mode:
authorFlorian Zeitz <florob@babelmonkeys.de>2011-06-15 00:51:02 +0200
committerSam Roberts <vieuxtech@gmail.com>2012-04-11 13:33:34 -0700
commit594f826aa129f8b497c37fe08429eff5651dac9d (patch)
tree85b80f9cde7bae3b32742c93f127de87b9e4dc98 /src/socket.lua
parent5874d47f550a2f278ca35ccda96d49ccf0ca7e36 (diff)
downloadluasocket-594f826aa129f8b497c37fe08429eff5651dac9d.tar.gz
luasocket-594f826aa129f8b497c37fe08429eff5651dac9d.tar.bz2
luasocket-594f826aa129f8b497c37fe08429eff5651dac9d.zip
Add support for connecting to IPv6 hosts
Diffstat (limited to 'src/socket.lua')
-rw-r--r--src/socket.lua10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/socket.lua b/src/socket.lua
index 7a77fbc..734da3c 100644
--- a/src/socket.lua
+++ b/src/socket.lua
@@ -17,7 +17,15 @@ module("socket")
17-- Exported auxiliar functions 17-- Exported auxiliar functions
18----------------------------------------------------------------------------- 18-----------------------------------------------------------------------------
19function connect(address, port, laddress, lport) 19function connect(address, port, laddress, lport)
20 local sock, err = socket.tcp() 20 if address == "*" then address = "0.0.0.0" end
21 local addrinfo, err = socket.dns.getaddrinfo(address);
22 if not addrinfo then return nil, err end
23 local sock, err;
24 if addrinfo[1].family == "inet" then
25 sock, err = socket.tcp()
26 else
27 sock, err = socket.tcp6()
28 end
21 if not sock then return nil, err end 29 if not sock then return nil, err end
22 if laddress then 30 if laddress then
23 local res, err = sock:bind(laddress, lport, -1) 31 local res, err = sock:bind(laddress, lport, -1)