目前stream 模块好像没有这个api, 一直在观望;
我之前遇到的场景是,代理一个server,但是我不知道他的协议规则:
只能粗暴一点的做法:
local sfsock, err = ngx.socket.tcp()
sfsock:connect(host, port)
local message, err
while true do
message, err = sfsock:receive(1) --这里每次1个字节搞定了. 哈哈哈哈哈哈
--转发 message
end
在 2018年11月20日星期二 UTC+8下午6:06:09,xboss sun写道:
hi,
想在长连接模块里面使用"receiveany"方法,会报错,有人碰到么?
attempt to call method 'receiveany' (a nil value)
stack traceback:
在http模块里面没有问题。查了一下最新stream-lua-nginx-module的代码,好像没有实现。
这个有实现计划么?或者有人知道有什么其它办法么?😀
stream {
# define a TCP server listening on the port 1234:
server {
listen 1234;
content_by_lua_block {
local sock = ngx.socket.tcp()
local data, err = sock:receiveany(1024)
}
}
}