0

这是我的 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 实施。)

谢谢。

4

0 回答 0