Open feihuroger opened 8 years ago
By requiring single modules you can circumvent auto require copas. e.g.
require('websockets.client_ev')
PRs welcome :+1:
copas
supports Lua 5.3 since 2.0.1. No PRs needed, at least not for copas
:wink:
The module that creates problem seems to be luabitop
. It would be great if we can conditionally drop that dependency for Lua > 5.1.
I can take a look at it when I will need 5.3 support, but this will take a couple of months.
I just bumped into this issue. I guess I'll subscribe to this thread. Thanks.
Hi there, I'm still stuck on this. Can anyone help? I was told 5.3 shouldn't need luabitop?
I think for now it does not suppurt bit operations on Lua 5.3.
And because there no bit32
module I suggest use bit32 from luarocks. It works fine on Lua 5.3.
Or you can make PR to add support this. :)
Would replacing bit.lua with this help?
https://github.com/daurnimator/lua-http/blob/master/http/bit.lua
You also need shift operations. Checkou my variant. https://github.com/moteus/lua-lluv-websocket/blob/master/src/lluv/websocket/bit.lua
I tried to use Lua 5.3 in the x64-Version but failed, too:
I could solve the issue about bit.lua by creating my own (incomplete) file which basically wraps built-in operators from Lua 5.3 into functions:: return { band = function(a, b) return a & b end; bor = function(a, b) return a | b end; bxor = function(a, b) return a ~ b end; bnot = function(x) return ~ x end; lshift = function(x, n) return x << n end; rshift = function(x, n) return x >> n end; arshift = function(x, n) print('arshift missing') return x end; rol = function(x, n) return (x<<(n%64))|(x>>(64-(n%64))) end; ror = function(x, n) return (x>>(n%64))|(x<<(64-(n%64))) end; bswap = function(x) print('bswap missing') return x end; }
However, this is not sufficient : The client of the test-server-copas.lua still reports the error "Error during WebSocket handshake: Incorrect 'Sec-WebSocket-Accept' header value"
Now I'm looking for different libraries like https://github.com/daurnimator/lua-http
For bitop
, there is a fork from https://github.com/LuaDist/luabitop, which support Lua 5.3 (and provide bit.dll etc).
(And there is more forks from original luabitop)
But with further test, I get error attempt to call a nil value (global 'unpack')
at 'websocket\frame.lua', so means there is old incompatible Lua function.
Seems its easy to convert/update.. Replace unpack
to table.unpack
.
@FrankBuchholz Thank you for introduce https://github.com/daurnimator/lua-http (Dependency doesn't support Microsoft Windows operating systems).
I have to build with 5.3, need to change bitopt to bit32, another question is Copas just for lua 5.1, 5.2. websocket.client.copas is error.