From 4d6d090ff2bcbbbd93e0fa94041cca20fbf011b9 Mon Sep 17 00:00:00 2001 From: zhaodj Date: Tue, 10 Mar 2015 05:02:12 +0800 Subject: [PATCH] use lua 5.3 in examples/login/client.lua --- examples/login/client.lua | 29 ++++++++--------------------- 1 file changed, 8 insertions(+), 21 deletions(-) mode change 100644 => 100755 examples/login/client.lua diff --git a/examples/login/client.lua b/examples/login/client.lua old mode 100644 new mode 100755 index 2dfdf25b..4180e7a7 --- a/examples/login/client.lua +++ b/examples/login/client.lua @@ -2,7 +2,10 @@ package.cpath = "luaclib/?.so" local socket = require "clientsocket" local crypt = require "crypt" -local bit32 = require "bit32" + +if _VERSION ~= "Lua 5.3" then + error "Use lua 5.3" +end local fd = assert(socket.connect("127.0.0.1", 8001)) @@ -93,26 +96,14 @@ print("login ok, subid=", subid) local function send_request(v, session) local size = #v + 4 - local package = string.char(bit32.extract(size,8,8)).. - string.char(bit32.extract(size,0,8)).. - v.. - string.char(bit32.extract(session,24,8)).. - string.char(bit32.extract(session,16,8)).. - string.char(bit32.extract(session,8,8)).. - string.char(bit32.extract(session,0,8)) - + local package = string.pack(">I2", size)..v..string.pack(">I4", session) socket.send(fd, package) return v, session end local function recv_response(v) - local content = v:sub(1,-6) - local ok = v:sub(-5,-5):byte() - local session = 0 - for i=-4,-1 do - local c = v:byte(i) - session = session + bit32.lshift(c,(-1-i) * 8) - end + local size = #v - 5 + local content, ok, session = string.unpack("c"..tostring(size).."B>I4", v) return ok ~=0 , content, session end @@ -132,11 +123,7 @@ end local readpackage = unpack_f(unpack_package) local function send_package(fd, pack) - local size = #pack - local package = string.char(bit32.extract(size,8,8)).. - string.char(bit32.extract(size,0,8)).. - pack - + local package = string.pack(">s2", pack) socket.send(fd, package) end