本人的C++和android水平都很soso,但是被导师赶鸭子上架,负责实现C++和android进行socket通信的问题,只能硬着头皮研究了。

网上关于C++和android通信的问题研究的很少,最后只能是通过研究C++和java的通信在转换成我所需要的了。

在网上找到了一段不错的代码:http://download.csdn.net/detail/nuptboyzhb/4595415

经过我的修改,成功的在安卓上实现,代码如下:http://download.csdn.net/detail/yxg190221/6815691

其中的原理有一篇文章说的很好,可以直接去看:http://blog.csdn.net/jiangxinyu/article/details/8211612

简单说一下我的理解,也不知道对错。在这个代码中穿上那个的所有数据都是先转换成了字节数组之后再传递的,传送结构的字节对齐问题文章中已经说得很详细了,这里就不再说了。

如果只传送字符串的,也需要把要传送过得字符串转换成字节数组,而且字节数组的长度要大于字符串的长度,否则接收端就会有乱码,因为c++字符串是以'/0'作为结束符的,如果找不到'/0'可能会出现一些乱码,所以发送和接收的时候最好都分配一个length+1的字节。

c++字符串是以'/0'作为结束符的,如果找不到'/0'可能会出现一些乱码,所以接收的时候可以分配一个length+1buffer用来接收消息c++字符串是以'/0'作为结束符的,如果找不到'/0'会出现一些乱码,所以接收的时候可以分配一个length+1的字节

用来接收消息


更多相关文章

  1. android手机客户端上传文件,java servlet服务器端接收并保存到服
  2. android 中使用TextView实现分段显示不同颜色的字符串
  3. exp: 修改Android中strings.xml文件, 动态改变数据
  4. 链接器解析多重定义的全局变量
  5. Android(安卓)中数据库查询方法 query() 中的 select
  6. android中SqLite query中用selectionArgs处理字符传值
  7. 修改系统Android版本,版本号
  8. android sqlite 图片保存和读出
  9. 获取Android系统信息

随机推荐

  1. Shell脚本更改带变量的目录
  2. 初探Linux kernel之进程相关二
  3. 【Linux】CentOS7无法使用tab补全功能
  4. ARM11、OK6410_Linux、系统移植 和 驱动
  5. openfalcon - centos 5.5 + python 2.4 r
  6. RHEL6误安装RHEL7的包导致glibc被升级后
  7. 我如何在Linux和Python中监听“usb设备插
  8. Telnet套接字网关到Coldfusion事件网关,连
  9. Linux开发工具(gcc gdb make shell)——G
  10. Vue绑定内联样式问题