|
Packit |
437b5e |
|
|
Packit |
437b5e |
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
|
Packit |
437b5e |
<html>
|
|
Packit |
437b5e |
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
|
|
Packit |
437b5e |
<head>
|
|
Packit |
437b5e |
<title>luaposix 33.3.0 Reference</title>
|
|
Packit |
437b5e |
<link rel="stylesheet" href="../ldoc.css" type="text/css" />
|
|
Packit |
437b5e |
</head>
|
|
Packit |
437b5e |
<body>
|
|
Packit |
437b5e |
|
|
Packit |
437b5e |
|
|
Packit |
437b5e |
|
|
Packit |
437b5e |
|
|
Packit |
437b5e |
|
|
Packit |
437b5e |
<big></big>
|
|
Packit |
437b5e |
|
|
Packit |
437b5e |
|
|
Packit |
437b5e |
|
|
Packit |
437b5e |
|
|
Packit |
437b5e |
|
|
Packit |
437b5e |
|
|
Packit |
437b5e |
|
|
Packit |
437b5e |
|
|
Packit |
437b5e |
|
|
Packit |
437b5e |
|
|
Packit |
437b5e |
|
|
Packit |
437b5e |
luaposix 33.3.0
|
|
Packit |
437b5e |
|
|
Packit |
437b5e |
|
|
Packit |
437b5e |
Index
|
|
Packit |
437b5e |
|
|
Packit |
437b5e |
|
|
Packit |
437b5e |
|
|
Packit |
437b5e |
|
|
Packit |
437b5e |
Examples
|
|
Packit |
437b5e |
|
|
Packit |
437b5e |
curses.lua
|
|
Packit |
437b5e |
dir.lua
|
|
Packit |
437b5e |
fork.lua
|
|
Packit |
437b5e |
fork2.lua
|
|
Packit |
437b5e |
getopt.lua
|
|
Packit |
437b5e |
glob.lua
|
|
Packit |
437b5e |
limit.lua
|
|
Packit |
437b5e |
lock.lua
|
|
Packit |
437b5e |
netlink-uevent.lua
|
|
Packit |
437b5e |
ping.lua
|
|
Packit |
437b5e |
poll.lua
|
|
Packit |
437b5e |
rt_sched.lua
|
|
Packit |
437b5e |
signal.lua
|
|
Packit |
437b5e |
socket.lua
|
|
Packit |
437b5e |
termios.lua
|
|
Packit |
437b5e |
tree.lua
|
|
Packit |
437b5e |
|
|
Packit |
437b5e |
Modules
|
|
Packit |
437b5e |
|
|
Packit |
437b5e |
posix
|
|
Packit |
437b5e |
posix.ctype
|
|
Packit |
437b5e |
posix.curses
|
|
Packit |
437b5e |
posix.dirent
|
|
Packit |
437b5e |
posix.errno
|
|
Packit |
437b5e |
posix.fcntl
|
|
Packit |
437b5e |
posix.fnmatch
|
|
Packit |
437b5e |
posix.getopt
|
|
Packit |
437b5e |
posix.glob
|
|
Packit |
437b5e |
posix.grp
|
|
Packit |
437b5e |
posix.libgen
|
|
Packit |
437b5e |
posix.poll
|
|
Packit |
437b5e |
posix.pwd
|
|
Packit |
437b5e |
posix.sched
|
|
Packit |
437b5e |
posix.signal
|
|
Packit |
437b5e |
posix.stdio
|
|
Packit |
437b5e |
posix.stdlib
|
|
Packit |
437b5e |
posix.sys.msg
|
|
Packit |
437b5e |
posix.sys.resource
|
|
Packit |
437b5e |
posix.sys.socket
|
|
Packit |
437b5e |
posix.sys.stat
|
|
Packit |
437b5e |
posix.sys.statvfs
|
|
Packit |
437b5e |
posix.sys.time
|
|
Packit |
437b5e |
posix.sys.times
|
|
Packit |
437b5e |
posix.sys.utsname
|
|
Packit |
437b5e |
posix.sys.wait
|
|
Packit |
437b5e |
posix.syslog
|
|
Packit |
437b5e |
posix.termio
|
|
Packit |
437b5e |
posix.time
|
|
Packit |
437b5e |
posix.unistd
|
|
Packit |
437b5e |
posix.utime
|
|
Packit |
437b5e |
|
|
Packit |
437b5e |
Classes
|
|
Packit |
437b5e |
|
|
Packit |
437b5e |
posix.curses.chstr
|
|
Packit |
437b5e |
posix.curses.window
|
|
Packit |
437b5e |
|
|
Packit |
437b5e |
|
|
Packit |
437b5e |
|
|
Packit |
437b5e |
|
|
Packit |
437b5e |
|
|
Packit |
437b5e |
|
|
Packit |
437b5e |
socket.lua
|
|
Packit |
437b5e |
|
|
Packit |
437b5e |
local sig = require "posix.signal"
|
|
Packit |
437b5e |
local sock = require "posix.sys.socket"
|
|
Packit |
437b5e |
local unistd = require "posix.unistd"
|
|
Packit |
437b5e |
|
|
Packit |
437b5e |
sig.signal (sig.SIGPIPE, function () print "pipe" end)
|
|
Packit |
437b5e |
|
|
Packit |
437b5e |
|
|
Packit |
437b5e |
local r, err = sock.getaddrinfo ("www.lua.org", "http", { family = sock.AF_INET, socktype = sock.SOCK_STREAM })
|
|
Packit |
437b5e |
if not r then error (err) end
|
|
Packit |
437b5e |
|
|
Packit |
437b5e |
local fd = sock.socket (sock.AF_INET, sock.SOCK_STREAM, 0)
|
|
Packit |
437b5e |
local ok, err, e = sock.connect (fd, r[1])
|
|
Packit |
437b5e |
local sa = sock.getsockname(fd)
|
|
Packit |
437b5e |
print("Local socket bound to " .. sa.addr .. ":" .. tostring(sa.port))
|
|
Packit |
437b5e |
if err then error (err) end
|
|
Packit |
437b5e |
|
|
Packit |
437b5e |
sock.send (fd, "GET / HTTP/1.0\r\nHost: www.lua.org\r\n\r\n")
|
|
Packit |
437b5e |
local data = {}
|
|
Packit |
437b5e |
while true do
|
|
Packit |
437b5e |
local b = sock.recv (fd, 1024)
|
|
Packit |
437b5e |
if not b or #b == 0 then
|
|
Packit |
437b5e |
break
|
|
Packit |
437b5e |
end
|
|
Packit |
437b5e |
table.insert (data, b)
|
|
Packit |
437b5e |
end
|
|
Packit |
437b5e |
unistd.close (fd)
|
|
Packit |
437b5e |
data = table.concat (data)
|
|
Packit |
437b5e |
print (data:match "<TITLE>(.+)</TITLE>")
|
|
Packit |
437b5e |
|
|
Packit |
437b5e |
|
|
Packit |
437b5e |
local fd = sock.socket (sock.AF_INET6, sock.SOCK_DGRAM, 0)
|
|
Packit |
437b5e |
sock.bind (fd, { family = sock.AF_INET6, addr = "::", port = 9999 })
|
|
Packit |
437b5e |
sock.sendto (fd, "Test ipv4", { family = sock.AF_INET, addr = "127.0.0.1", port = 9999 })
|
|
Packit |
437b5e |
sock.sendto (fd, "Test ipv6", { family = sock.AF_INET6, addr = "::", port = 9999 })
|
|
Packit |
437b5e |
for i = 1, 2 do
|
|
Packit |
437b5e |
local ok, r = sock.recvfrom (fd, 1024)
|
|
Packit |
437b5e |
if ok then
|
|
Packit |
437b5e |
print (ok, r.addr, r.port)
|
|
Packit |
437b5e |
else
|
|
Packit |
437b5e |
print (ok, r)
|
|
Packit |
437b5e |
end
|
|
Packit |
437b5e |
end
|
|
Packit |
437b5e |
unistd.close (fd)
|
|
Packit |
437b5e |
|
|
Packit |
437b5e |
os.exit (0)
|
|
Packit |
437b5e |
|
|
Packit |
437b5e |
|
|
Packit |
437b5e |
|
|
Packit |
437b5e |
|
|
Packit |
437b5e |
|
|
Packit |
437b5e |
generated by LDoc 1.4.3
|
|
Packit |
437b5e |
Last updated 2015-03-01 09:06:02
|
|
Packit |
437b5e |
|
|
Packit |
437b5e |
|
|
Packit |
437b5e |
</body>
|
|
Packit |
437b5e |
</html>
|