我正在开发一个网络支持的框架(最初用于Android系统),其中包括了三种基本服务信号强度的影响:主机发现,网络通信和的QoS监控。建立在WiFi网络速度
对于最后一项服务,我尝试实现一种方法,该方法返回单个主机可以定期发送到另一个主机的最大邮件数(MPS)。
根据要发送的对象的大小和网络速度,我可以很容易地通过可以通过网络发送的理想MPS 进行粗略估计。当我尝试在方程中包含信号强度(SS)时出现问题。
protected int getMPS(NetworkApplicationData message, Context context) {
int messageSizeBits = MemoryUtils.sizeOf(message) * 8;
int networkSpeedMbps = getNetworkSpeed(context);
float signalStrength = getNetworkSignalStrength(context);
// FIXME: what about signalStrength?
return networkSpeedMbps * 1024 * 1024/messageSizeBits;
}
所以这里的基本问题是:是否有任何预先建立的研究关于信号强度对无线网络速度的影响?
做了一些测试,我注意到,根据信号强度,建立的网络速度发生变化。例如,对于“标准化”的100%SS,Android API返回54Mbps的网络速度值;和40%的SS,API返回7Mbps的网络速度值。我应该仅仅依靠Android API返回的网络速度值吗?在这种情况下,我将主要得到高估的MPS。
无论如何,我需要知道哪些是解决此问题的正确方法,并将计算基于正式研究。
您应该指定您的目标通信技术。从你的价值看,它似乎是Wi-Fi?版本811a/g? –
@Luis它的确适用于当前移动设备中使用的WiFi网络(a/b/g/n)。感谢您的反馈。 –