lua的乙個比較實用的拓展庫
lua socket
在windows
下平台的使用。在網上檢視了許多關於lua socket的安裝,發現大部分都是在
linux
下的安裝,關於在
windows
平台下的使用說明很少,而且發現問題挺多。本文將介紹乙個極其簡單的方式介紹
lua socket
在windows
下的安裝使用,親測可用。 庫:
選擇:
2、(關鍵)解壓後將
socket
目錄下的
core.dll
重新命名為
socket.dll,
並將資料夾
lua及
socket.dll
拷貝到luatest
3、修改
main.lua:
-- server.lua
local socket = require("socket")
local host = "127.0.0.1"
local port = "12345"
local server = assert(socket.bind(host, port, 1024))
server:settimeout(0)
local client_tab = {}
local conn_count = 0
print("伺服器開啟 " .. host .. ":" .. port)
while 1 do
local conn = server:accept()
if conn then
conn_count = conn_count + 1
client_tab[conn_count] = conn
print("伺服器 a client successfully connect!")
endfor conn_count, client in pairs(client_tab) do
local recvt, sendt, status = socket.select(, nil, 1)
if #recvt > 0 then
local receive, receive_status = client:receive()
if receive_status ~= "closed" then
if receive then
assert(client:send("client " .. conn_count .. " send : "))
assert(client:send(receive .. "\n"))
print("receive client " .. conn_count .. " : ", receive)
endelse
table.remove(client_tab, conn_count)
client:close()
print("client " .. conn_count .. " disconnect!")
endend
endend
編譯執行:
此外,補充乙個客戶端程式:
-- client.lua
local socket = require("socket")
local host = "127.0.0.1"
local port = 12345
local sock = assert(socket.connect(host, port))
sock:settimeout(0)
print("press enter after input something:")
local input, recvt, sendt, status
while true do
input = io.read()
if #input > 0 then
assert(sock:send(input .. "\n"))
endrecvt, sendt, status = socket.select(, nil, 1)
while #recvt > 0 do
local response, receive_status = sock:receive()
if receive_status ~= "closed" then
if response then
print(response)
recvt, sendt, status = socket.select(, nil, 1)
endelse
break
endend
end
LuaSocket 學習筆記
lua socketlib 和 協程 目標讀者 會使用 lua socketlib 會用協程。lua socketlib 不僅提供了 tcp udp ip 的網路連線。還提供了諸如 tcp udp 的客戶端和服務端,以及 ftp http 協議等高階物件。本教程專注於 lua socketlib 提...
編譯使用luasocket
編譯lua5.1 編譯luasocket 使用luasocket 建乙個測試目錄test,把mime.dll和socket.dll放在test socket 中 把luasocket中src目錄下的.lua檔案放在test src 中 寫乙個測試檔案main.lua package.path d t...
lua模組luasocket安裝
wget 2 解壓縮包 tar zxvf tar.gz 3 查詢lua安裝路徑和修改config檔案 whereis lua 進入luasocket目錄修改config檔案 install top share usr share lua 5.1 install top lib usr lib64 l...