Lua Socket在Windows平台下的使用

2021-08-15 11:34:22 字數 2581 閱讀 8380

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...