Socket的setReceiveBufferSize设置结果不对
来源:8-1 消息不完整与消息粘包
xjfjian
2019-03-25
Socket的setReceiveBufferSize设置结果不对
在java项目里,socket连接后加入如下代码:
System.out.println("rsize: "+socket.getReceiveBufferSize());
socket.setReceiveBufferSize(120);
System.out.println("rsize: "+socket.getReceiveBufferSize());
会得到结果:
rsize: 65536
rsize: 120
但如果在安卓里加入类似代码:
Log.e("xjfjian", "rsize: "+mSocket.getReceiveBufferSize());
mSocket.setReceiveBufferSize(120);
Log.e("xjfjian", "rsize: "+mSocket.getReceiveBufferSize());
结果不确定:
安卓9,as自带模拟器:
xjfjian: rsize: 1059840
xjfjian: rsize: 2304
安卓5,夜神模拟器:
xjfjian: rsize: 1048576
xjfjian: rsize: 2240
想了解一下原因,是安卓本身的问题还是模拟器的问题?以及有没有办法规避这个问题?
写回答
1回答
-
Qiujuer
2019-03-26
这个问题应该是Android系统版本限制的问题,底层系统上有上限下限的控制。
具体的我明天看看有没有办法绕过限制哈。
00
相似问题