diff options
| author | Florian Zeitz <florob@babelmonkeys.de> | 2011-06-15 00:51:02 +0200 |
|---|---|---|
| committer | Sam Roberts <vieuxtech@gmail.com> | 2012-04-11 13:33:34 -0700 |
| commit | 594f826aa129f8b497c37fe08429eff5651dac9d (patch) | |
| tree | 85b80f9cde7bae3b32742c93f127de87b9e4dc98 /src/socket.lua | |
| parent | 5874d47f550a2f278ca35ccda96d49ccf0ca7e36 (diff) | |
| download | luasocket-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.lua | 10 |
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 | ----------------------------------------------------------------------------- |
| 19 | function connect(address, port, laddress, lport) | 19 | function 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) |
