LuaSocket简单使用

来源:互联网 发布:中国知识分子知乎 编辑:程序博客网 时间:2024/06/06 23:59

版本:LuaSocket 3.0-rc1

限制:只能收发字符串,且接收的字符串必须以 \n 结尾。

客户端cocos2dx-lua 3.14.1

local MainScene = class("MainScene", cc.load("mvc").ViewBase)function socketInit()      local socket = require("socket")    print(socket._VERSION);    local host = "127.0.0.1"      local port = 10001;      G_SOCKETTCP = socket.tcp()      local n,e = G_SOCKETTCP:connect(host, port)      print("connect return:",n,e)      G_SOCKETTCP:settimeout(0)  end  function socketClose()      G_SOCKETTCP:close()  end  function socketSend(sendStr)      G_SOCKETTCP:send(sendStr)  end  function socketReceive()      local response, receive_status=G_SOCKETTCP:receive()      print("receive return:",response or "nil" ,receive_status or "nil")      if receive_status ~= "closed" then          if response then              print("Receive Message:"..response)         end      else          print("Service Closed!")    end  end function MainScene:onCreate()    socketInit()      local delay = 0      local function receiveHandler(dt)          delay = delay + dt          if delay > 0.1 then              socketReceive()              delay= 0        end      end    self:scheduleUpdateWithPriorityLua(receiveHandler,1)    socketSend("asdf")endreturn MainScene

服务端:java netty 

childhandler中加入继承SimpleChannelInboundHandler<String>的处理器,StringEncoder与StringDecoder处理器。

在发送字符串时,在末尾加\n后发送给luasocket客户端。

亲测可用。


性能未知。




原创粉丝点击