- Edited
使用过程中发现udp的receive只能接收8192大小的包, 而且再次receive无法接收后面多出来的字节, 请问有办法调整一次receive的大小吗?
最近我也遇到这个问题,所以想办法解决。
https://github.com/openresty/stream-lua-nginx-module/blob/master/src/ngx_stream_lua_socket_udp.c
第35行#define UDP_MAX_DATAGRAM_SIZE 8192
改成
#define UDP_MAX_DATAGRAM_SIZE 65535
到现在我都不明白为什么要限制,你可以默认值是8192,但是最大值限制,弄不懂。
支持大的报文就有大的内存开销,实际上通过公共网络就不应发送很大的UDP报文。
这个内存开销就是每个进程64k很大吗!人为制造障碍了
feng 谢谢你的提醒,原来没有注意看消息,以为是nginx的默认代码呢。
仔细看了一下代码,确实是不应该限制为8k,麻烦提一个PR到开源社区。