各位好:
我现在在用Openresty-1.13.6.2版本去开发一个类似于proxy_pass功能的插件,现在在转发MQ消息时遇到了些问题。代码如下:
local mq_transfer = require"mq.mq_transfer"
local mq_trans = mq_transfer:new()
local times = 0
--connect方法使用tcpsock:connect()用以连接MQ的Server端
mq_trans:connect()
while true do
local req_data = mq_trans:get_req_stream_data()
if req_data then
--send_message方法使用tcpsock:send(),内部超时时间设置为2000
--同时使用receive方法来接收MQ-Server消息,超时时间设置为2000
local resp_message,err = mq_trans:send_message(req_data)
if resp_message then
--多次交互下,这里加setkeepalive有时会报sock已经关闭
mq_trans:send_response(resp_message)
end
else
break
end
end
是不是setkeepalive只能调用一次,多了会有问题呀