这是我的 CoAP 客户端代码,用于发送具有增量负载大小的请求:
CoapClient client = new CoapClient(uri);
for (int payloadSize = start; payloadSize <= end; payloadSize += stepSize) {
for (int repeatCount = 0; repeatCount < repeatNo; repeatCount++) {
//building payload
StringBuilder sb = new StringBuilder();
for (int i = 0; i< payloadSize ; i ++)
sb.append("a");
//building request with payload
Request req = new Request(CoAP.Code.GET);
req.setPayload(sb.toString().getBytes());
//sending request
long sendTime = System.currentTimeMillis();
CoapResponse response = client.advanced(req);
long receiveTime = System.currentTimeMillis();
long transmissionTime = receiveTime - sendTime;
...
但是,客户端似乎没有发生 UDP 数据报碎片化或 CoAP 逐块传输。我究竟做错了什么?
在我的本地机器中,传输的最大有效负载约为 2300(小于 2400)字节。而通过互联网大约是 1400(小于 1500)。
我想从 CoAP 客户端向 CoAP 服务器发送大请求。我究竟做错了什么?(请特别针对 Californium CoAP 实施。)
谢谢。