Giter Club home page Giter Club logo

lsocket's Introduction

lsocket's People

Contributors

cloudwu avatar muzuiget avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

lsocket's Issues

getaddrinfo 返回 11001 但是 gai_strerror 返回了空字符串

系统:Windows 10
平台:msys2

执行 lsocket.connect(ip, port) 传入的 ip 的地址格式正确,但指向一个不存在的主机。就想测试下这种情况,发现 lsocket.connect 返回的第二个参数是空串,定位是下面这行代码返回的:

int err = getaddrinfo(addr, svc, &hint, &info);

Windows 系统真的神奇,就期望着如果传入了不存在的主机,lsocket.connect 的第二个参数能不能返回相应的字符串描述。不过目前倒也不影响使用。

windows下tcp模式send数据出错

-------------------------------代码-------------------------------
local lsocket = require("lsocket")

function split(str,reps)
if string.find(str,reps) ~= nil then
local resultStrList = {}
string.gsub(str,'[^'..reps..']+',function (w)
table.insert(resultStrList,w)
end)
return resultStrList
else return nil
end
end

server ="8.8.8.8"
port = 53
host = "baidu"

local client, err = lsocket.connect("tcp",server,port)
if not client then
print("error: "..err)
return nil
end

math.randomseed(os.time())
local data = string.char(math.random(1,255),math.random(1,255))
data = data .. string.char(0x01,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00)
local temp = split(host,".")
for i,v in pairs(temp) do
data = data .. string.char(string.len(v))
for j=1,string.len(v) do
data = data .. string.sub(v,j,j)
end
end
data = data .. string.char(0x00,0x00,0x01,0x00,0x01)
data = string.char(0x00,string.len(data)) .. data

ok, err = client:send(data)
if not ok then print("error: "..err) end
-------------------------------代码-------------------------------

最近在学习写dns查询的测试代码,当在windows下执行时,tcp模式下send,会出现"error: Unknown error"错误,但是同样的代码在linux环境下执行时,会正常运行,不知道是我编译的问题,还是库的问题,希望能指导解决

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.