Nginx版本:nginx-1.11.10user nobody;worker_processes 4;worker_cpu_affinity 001 010 011 100;#error_log /log/error.log;error_log off;pid /var/run/nginx.pid;worker_rlimit_nofile 10000;events { use epoll; worker_connections 10000;}stream { server { listen 6666; content_by_lua_file /opt/a.lua; }}a.lua内容如下:local sock = ngx.req.socket()sock:settimeout(1000)while true dodata = "">if data then os.execute('echo "' .. data .. '" >> /log/a.txt')endend用sock:receive收不到数据,但是sock:send发出来客户端可以收到,用sokit测试,想问问大家有遇到这种情况吗? --
Hello十有八九是你测试的问题,至少我用起来很正常你应该检查一下 receive 的返回值,是否有明显的错误返回local data, err = sock:receive() -- 注意检查 err另外,receive 的默认参数是 "*l",发送端必须有换行符,估计你是这里没看清楚https://github.com/openresty/lua-nginx-module/#tcpsockreceive2017-03-06 11:28 GMT+08:00 Chan WingChung <chonwi...@gmail.com>:Nginx版本:nginx-1.11.10user nobody;worker_processes 4;worker_cpu_affinity 001 010 011 100;#error_log /log/error.log;error_log off;pid /var/run/nginx.pid;worker_rlimit_nofile 10000;events { use epoll; worker_connections 10000;}stream { server { listen 6666; content_by_lua_file /opt/a.lua; }}a.lua内容如下:local sock = ngx.req.socket()sock:settimeout(1000)while true dodata = "">if data then os.execute('echo "' .. data .. '" >> /log/a.txt')endend用sock:receive收不到数据,但是sock:send发出来客户端可以收到,用sokit测试,想问问大家有遇到这种情况吗? --
如果我是redis协议貌似不行, 其实我一直想把redis协议弄过了,然后做个redis cluster proxy 在 2017年3月6日星期一 UTC+8下午1:15:16,doujiang写道:Hello十有八九是你测试的问题,至少我用起来很正常你应该检查一下 receive 的返回值,是否有明显的错误返回local data, err = sock:receive() -- 注意检查 err另外,receive 的默认参数是 "*l",发送端必须有换行符,估计你是这里没看清楚https://github.com/openresty/lua-nginx-module/#tcpsockreceive2017-03-06 11:28 GMT+08:00 Chan WingChung <chonwi...@gmail.com>:Nginx版本:nginx-1.11.10user nobody;worker_processes 4;worker_cpu_affinity 001 010 011 100;#error_log /log/error.log;error_log off;pid /var/run/nginx.pid;worker_rlimit_nofile 10000;events { use epoll; worker_connections 10000;}stream { server { listen 6666; content_by_lua_file /opt/a.lua; }}a.lua内容如下:local sock = ngx.req.socket()sock:settimeout(1000)while true dodata = "">if data then os.execute('echo "' .. data .. '" >> /log/a.txt')endend用sock:receive收不到数据,但是sock:send发出来客户端可以收到,用sokit测试,想问问大家有遇到这种情况吗? -- --
Hello十有八九是你测试的问题,至少我用起来很正常你应该检查一下 receive 的返回值,是否有明显的错误返回local data, err = sock:receive() -- 注意检查 err另外,receive 的默认参数是 "*l",发送端必须有换行符,估计你是这里没看清楚https://github.com/openresty/lua-nginx-module/#tcpsockreceive2017-03-06 11:28 GMT+08:00 Chan WingChung <chonwi...@gmail.com>:Nginx版本:nginx-1.11.10user nobody;worker_processes 4;worker_cpu_affinity 001 010 011 100;#error_log /log/error.log;error_log off;pid /var/run/nginx.pid;worker_rlimit_nofile 10000;events { use epoll; worker_connections 10000;}stream { server { listen 6666; content_by_lua_file /opt/a.lua; }}a.lua内容如下:local sock = ngx.req.socket()sock:settimeout(1000)while true dodata = "">if data then os.execute('echo "' .. data .. '" >> /log/a.txt')endend用sock:receive收不到数据,但是sock:send发出来客户端可以收到,用sokit测试,想问问大家有遇到这种情况吗? -- --
Nginx版本:nginx-1.11.10user nobody;worker_processes 4;worker_cpu_affinity 001 010 011 100;#error_log /log/error.log;error_log off;pid /var/run/nginx.pid;worker_rlimit_nofile 10000;events { use epoll; worker_connections 10000;}stream { server { listen 6666; content_by_lua_file /opt/a.lua; }}a.lua内容如下:local sock = ngx.req.socket()sock:settimeout(1000)while true dodata = "">if data then os.execute('echo "' .. data .. '" >> /log/a.txt')endend用sock:receive收不到数据,但是sock:send发出来客户端可以收到,用sokit测试,想问问大家有遇到这种情况吗? -- --