接收socket数据的粘包处理
Posted mqxnongmin
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了接收socket数据的粘包处理相关的知识,希望对你有一定的参考价值。
//粘包解决方法,格式<x>XXXXXXXXXXXX</x>
?? ??? ??? ? {
?? ??? ??? ??? ?int n1 = data.indexOf("<x>");
?? ??? ??? ??? ?int n2 = data.indexOf("</x>");
?? ??? ??? ??? ?String str = data.substring(n1+3, n2);
?? ??? ??? ??? ?//剩余字符
?? ??? ??? ??? ?data = data.substring(n2+4);
?? ??? ???????? //打印处理好的字符
?? ??? ??? ??? ?Log.v("readM", str);
?? ??? ??? ? }
?? ??? ??? ?}
?? ??? ??? ?catch(Exception e)
?? ??? ??? ?{
?? ??? ??? ??? ?e.printStackTrace();
?? ??? ??? ?}
?? ??? ?}
?? ??? ?public void readMess(String message){
?????????? //存放数据
?? ??? ??? ?try{
???????? //循环是数据可能有多个<x>XXX</x><x>XXX</x>.................
?? ??? ??? ? {
?? ??? ??? ??? ?int n1 = data.indexOf("<x>");
?? ??? ??? ??? ?int n2 = data.indexOf("</x>");
?? ??? ??? ??? ?String str = data.substring(n1+3, n2);
?? ??? ??? ??? ?//剩余字符
?? ??? ??? ??? ?data = data.substring(n2+4);
?? ??? ???????? //打印处理好的字符
?? ??? ??? ??? ?Log.v("readM", str);
?? ??? ??? ? }
?? ??? ??? ?}
?? ??? ??? ?catch(Exception e)
?? ??? ??? ?{
?? ??? ??? ??? ?e.printStackTrace();
?? ??? ??? ?}
?? ??? ?}