下面这段代码报错 lua tcp socket read timed out, client: 218.0.233.6" 218.0.233.6 是客户端的ip 但是貌似不影响使用 local server = require "resty.websocket.server" local wb, err = server:new{ timeout = 5000, max_payload_len = 65535 } if not wb then ngx.log(ngx.ERR, "failed to new websocket: ", err) return ngx.exit(444) end wb:set_timeout(1000)
while true do local data, typ, err = wb:recv_frame() if wb.fatal then
ngx.log(ngx.ERR, "failed to receive frame: ", err) return ngx.exit(444) end
if not data then local bytes, err = wb:send_ping() if not bytes then ngx.log(ngx.ERR, "failed to send ping: ", err) return ngx.exit(444) end elseif typ == "close" then break elseif typ == "ping" then local bytes, err = wb:send_pong() if not bytes then ngx.log(ngx.ERR, "failed to send pong: ", err) return ngx.exit(444) end elseif typ == "pong" then ngx.log(ngx.INFO, "client ponged") elseif typ == "text" then local msg = ndk.set_var.set_unescape_uri(data) ngx.thread.spawn(pub,msg) end end red2:set_keepalive(10000,100) red:set_keepalive(10000,100) --