问题是这样的:UDP协议。
校园网络广播,服务器软件向每个教室的终端发送音频数据,大概每26毫秒发送一次,每次向200个终端发送(每个终端间隔30微妙左右),每帧的数据长度是512Byte,出现丢包现象,不算太严重。
终端那边的程序应该没什么问题。因为每26毫秒发送一次,每次向50个终端发送(每个终端间隔30微妙左右),每帧的数据长度是512Byte,这样就基本上不出现丢包情况。
想请教一下,怎样可以太多终端时,尽量避免这种丢包问题呢?
校园网络广播,服务器软件向每个教室的终端发送音频数据,大概每26毫秒发送一次,每次向200个终端发送(每个终端间隔30微妙左右),每帧的数据长度是512Byte,出现丢包现象,不算太严重。
终端那边的程序应该没什么问题。因为每26毫秒发送一次,每次向50个终端发送(每个终端间隔30微妙左右),每帧的数据长度是512Byte,这样就基本上不出现丢包情况。
想请教一下,怎样可以太多终端时,尽量避免这种丢包问题呢?
如果20毫秒的间隔,一秒钟差不多50个包。
每个包512字节,考虑以太网包头14字节,ip包头20字节,udp包头8字节,总包头:42字节
每秒发送:200个终端*50个包*(512+42)字节=5,540,000字节
换算成bit,则相当于50M带宽。你的校园网有没有这么大带宽?
带宽需求大概35,456,000 BPS 打满也就36M了
另开一个TCP服务,如果终端发现丢包(包序号不连续了),就通过TCP来取,这样的通讯压力就小多了