一、分片发送和接收(复杂)
如果数据量太大,需要分多次发送,
需要考虑数据划分和重组的问题。
二、具体思路
每次发送和接收用一个布尔值变量指定是否为最后一个分片。
三、具体使用
(一)字符串分片发送:
sendText(文本, 布尔值);
布尔值的取值:
不是最后一个分片,设置为false;
如果是最后一个,设置为true;
(二)分片接收字符串:
@OnMessage
public void onmessage(String msg , boolean isLast, Session session){ }
用isLast的值来判断是否最后一个分片。
(三)分片接收二进制:
@OnMessage
public void onmessage(byte[] buff , boolean isLast, Session session){}
isLast为真,代表最后一个分片,否则不是。
四、底层原理
设置WebSocket协议数据包上的标志FIN,为0代表不是最后一个,为1是最后一个分片。