问题描述:发送udp数据报时候报错报错信息
errno: 'EMSGSIZE'
code: 'EMSGSIZE'
开发环境nodejs,使用的是dgram模块发送数据
问题原因:
数据量过大,百度到数据超过1500bytes,经过实际测试最多可以发送8192 bytes数据,如果数据超过8192不是太多,依然可以发送成功,但是实际发送的数据量依然是8192,至于超过多少报错,没有测试
解决方案:
- 对需要发送的数据进行分包发送
- 2.改用其他方式传输数据
- 3.设置最大的套接字发送缓冲字节(注意接收读取的最大缓冲字节)
const dgram = require('dgram');
const server = dgram.createSocket({
type:'udp4',
sendBufferSize:1024*100
});