今天调试的时候,遇到一个奇怪的问题。

windows桌面软件是采用c#语言编写的,Android app是采用java编写的。两者之间采用socket方式通讯,因为字段比较多,所以先将字段内容拼接成json格式,再作为一个string一次性发送出去。

Android连接桌面软件后,由桌面软件发送一个json字符串给Android。

桌面软件上debug是正常的,但是Android上json解码的时候,总是报错。调试了一下,发现:在有效字符串后面增加了很多特殊字符:�����������������

问题就出在这里:

socket客户端接收消息的时候,使用一个8*1024的buffer,在接收到消息之后,是将整个buffer的内容都转成string,而末尾那些为接收的字节是乱码的。实际上,我们只需要将有效字节转为string即可,增加一个字段:actuallyRead用来记录有效字节。

socket接收消息 字符串长度相关推荐

  1. 微信小程序添加全局 socket 并接收消息通知

    最近小程序中有使用到socket,来建立长连接,实现消息通知.总结一下实现思路. 首先,在app.js中初始化socket,并处理消息,添加心跳检测. App({globalData: {suppli ...

  2. Java的socket连接以及string字符串长度过长解决

    一.socket连接服务: 1.客户端:Java package cn.lw;import java.io.BufferedReader; import java.io.BufferedWriter; ...

  3. socket数据传输过程中如何准确的接收消息

    想了半天,也没想出个合适的标题,还是描述问题吧 (1)客户端向服务端发送指令,期望获得回答 (2)服务端响应客户端请求,并返回答案 这看起来是一个非常简单的过程,比如客户端发送一条json格式的指令 ...

  4. socket接收的消息怎么更新到页面_spring boot 集成 websocket 实现消息主动

    前言 http协议是无状态协议,每次请求都不知道前面发生了什么,而且只可以由浏览器端请求服务器端,而不能由服务器去主动通知浏览器端,是单向的,在很多场景就不适合,比如实时的推送,消息通知或者股票等信息 ...

  5. 用汇编语言写一个程序,它先接收一个字符串,然后显示其中数字符的个数、英文字母的个数和字符串的长度

    ## 用汇编语言写一个程序,它先接收一个字符串,然后显示其中数字符的个数.英文字母的个数和字符串的长度 DATAS SEGMENT str1 db 0dh,0ah,'please enter a st ...

  6. PHP 字符串长度截取 之 解决微信消息字数限制

    说明:在微信发送消息的时候出现的问题 => 字数超出限制,导致服务器报错. 解决:加一个判断语句... 具体了解:https://zhidao.baidu.com/question/173276 ...

  7. RTMPdump(libRTMP) 源代码分析 9: 接收消息(Message)(接收视音频数据)

    2019独角兽企业重金招聘Python工程师标准>>> 注:此前写了一些列的分析RTMPdump(libRTMP)源代码的文章,在此列一个列表: RTMPdump 源代码分析 1: ...

  8. c语言 recv_sin,C++_C语言中经socket接收数据的相关函数详解,recv()函数: 头文件:#incl - phpStudy...

    C语言中经socket接收数据的相关函数详解 recv()函数:头文件: #include #include 定义函数: int recv(int s, void *buf, int len, uns ...

  9. vue-admin websocket接收消息推送+语音提示(详细代码)

    websocket接收消息推送+语音提示 这个是同事的代码,我拿来记录一下,希望以后可以看得懂-- utils/websocket.js const audioUrl = require('@/ass ...

最新文章

  1. ES集群状态、节点、索引等查看及根据字段、排序查询
  2. VS2005+SQL2005 ASP.NET2.0数据库连接
  3. EventBus的简单使用
  4. php同时抢购 代码,浅谈PHP实现大流量下抢购方案
  5. c++隐式类型转换存在的陷阱
  6. 非集成搭建wampp环境
  7. html微信投票代码,关于网络投票刷票神器的代码编写
  8. UltraISO 9.7.0.3476中文完美破解安装版
  9. 宏基ec471g黑苹果_【图片】简单安装黑苹果,老爷车宏基E1-471G完整度90%,显卡声卡成功驱动【2_黑苹果吧】_百度贴吧...
  10. (第八天)记忆系统训练软件3.0
  11. 2018年总结和计划
  12. S.O.L.I.D 是面向对象设计(OOD)和面向对象编程(OOP)中的几个重要编码原则
  13. Matlab动画模拟分子布朗运动的示例
  14. 打开浏览器时主页被锁定怎么也改不掉的一个好办法
  15. 星座图matlab是什么意思,如何理解Matlab星座图16QAM
  16. 第11章 The Extended Kalman Filter
  17. (手机,qq,QQ邮箱验证格式)正则表达式
  18. 嵌入式Linux驱动开发常用目录及文件梳理
  19. python turtle 乌龟赛跑_Python编程 | 海龟绘图:Turtle Race 海龟赛跑游戏
  20. w7计算机读条,win7设备和打印机一直读条如何解决

热门文章

  1. 如何在工作中提升自己的学习能力
  2. python判断队列是否为空_python队列Queue
  3. 二手车价格预测 | 构建AI模型并部署Web应用 ⛵
  4. mcafee杀毒软件编写规则时通配符使用方法
  5. 机器学习中的距离公式
  6. Linux 容器能否弥补 IoT 的安全短板?
  7. Head First C#中文版 图文皆译 (page13)
  8. Java8新特性之Lambda,呦呦呦
  9. 亚信大数据平台产品经理 杨晋:大数据是怎么应用于技术方面的
  10. [热门游戏]今年“金酷”推出暗黑大作“魔界2”,邀你一起去探险。