最近要在手机上调试网络通信,网络上却找不到功能完善好用的调试助手,因此自己用Qt写了一个夸平台的TCPIP Socket调试助手。对应在使用Qt开发安卓TCPIP Socket通信遇到的坑。希望大家警惕。

Qt开发安卓应用的第一个坑:Qt的版本与NDK,SDK以及ADV之间需要做好匹配。API25以后的,ADV不能启动,只能用安卓官方的Android Studio中开配置。单独下载的,API不要在25之后。

第二个坑,Qt5.12.8版本开发安卓,会因为Qt版本本身的Bug导致编译一直失败,这个时候只需要把版本换成5.14.0以及以后的版本即可。

第三个坑,当应用开发在Windows和Linux平台运行正常的时候,重新编译到安卓平台下,却发现字体大小界面跟PC上表现不一致,这个时候需要对安卓进行专门的处理,这点很坑。比如这样的:

因为界面设计之初采用的布局方式,支持自动放大缩小,因此需要修改的地方基本在对话框,选项宽这些地方。

第四个坑,也是让我找了两天的地方,之前一直没注意,因为在Windows和Linux下很正常,但是在安卓下面就出现问题。问题来自于TCP客户端只要一点发送,安卓程序就崩溃,之前一直没有找到原因,后来却发现是因为这个函数是有个bool变量返回,我在函数内没有任何值返回,最终导致程序崩溃,而这个问题在Windows和Linux下并不存在,这个本身也就是个警告的问题,也谈不上错误,因此一直找了两天,悲剧,以后一定要注意,就是这里,之前没有返回ret,安卓程序崩溃:

第五个坑,这个坑不算是安卓的坑,Qt都会存在。也算不上坑,可能是之前没用过,没经验。Qt关闭Socket后,立马用delete删除了对用开辟的Socket,程序过了2秒过后,程序崩溃,这个原因还不好找,从逻辑上来看,这个是没有问题的。后来就使用deleteLater()接口来删除资源,顾名思义,之后自己删除,然后程序就正常了,可能是Socket关闭后,系统内部还在处理一些收尾的事情,这个时候你把资源删除,就导致程序崩溃了,原因就在这里了,记下来,以后注意。

现在基本调试完毕,支持多对象多连接的TCP、UDP服务器客户端,在安卓平台,Linux平台,Windows平台运行正常。安卓平台与PC平台界面只存在轻微差异。

安卓平台截图,自己的手机华为P30Prp:下载地址:https://download.csdn.net/download/qq_18604707/16819663

Linux平台,Ubuntu:下载地址:https://download.csdn.net/download/qq_18604707/16819709

Windows平台:下载地址:https://download.csdn.net/download/qq_18604707/16819747

安卓/LINUX/Windows TCPIP Socket调试助手相关推荐

  1. linux下串口设备文件,linux下各种串口调试助手

    在 linux 系统下进行串口调试或者开发时配合简单易用的串口调试工具那是必不可少.这篇博客对当前用的较多的,且我自己经常用的一些串口工具做一下汇总,大家可以参考一下. 实验环境: OS: Ubunt ...

  2. Windows上 万能的串口调试助手

    之前自己找了很久的串口调试助手,还自己去编写,现在发现了一个非常好用的串口工具:ScriptCommunicator. 这是一个开源软件,功能强大. ScriptCommunicator软件下载地址: ...

  3. 在Ubuntu20.04中继续使用linux版“网络调试助手”的方法

    在Ubuntu20.04中继续使用linux版"网络调试助手"的方法 网络调试助手是一款很好用的网络通信调试软件,对于初学网络编程的人员简单实用.windows版的调试助手在各个版 ...

  4. windows远程android传输文件,电脑(Linux/Windows)使用SSH远程登录安卓(Android)手机实现无线传输和管理文件(图文详解)-Go语言中文社区...

    电脑(Linux/Windows系统)使用SSH远程登录安卓(Android)手机实现无线传输和管理文件(图文详解) 温馨提示 本文只针对安卓(Android)手机!iPhone或者WP的手机用户,请 ...

  5. 网络调试助手-程序设计-PyQt5实战 (Python socket GUI)

    网络调试助手 程序设计 点此在我的博客中查看原文,显示效果更佳 NetAssist_PyQt 项目已开源分享至GitHub,如果这个项目和这篇博客对你有帮助的话,希望你能给我的GitHub仓库一颗小星 ...

  6. Windows下使用C语言创建定时器并周期和网络调试助手通信

    在Windows C下采用timeSetEvent函数来设置定时器 关于timeSetEvent的函数原型及注释如下所示: MMRESULT timeSetEvent(UINT uDelay, // ...

  7. Windows下使用C语言的周期UDP编程同时发送和接收网络调试助手数据

    代码: #include <Windows.h> //需要包含该头文件 #include <stdio.h>#pragma comment(lib,"Winmm.li ...

  8. 网络调试助手:安卓APP集成TCP、UDP、经典蓝牙、低功耗蓝牙的调试demo

    1.前言 我终于不需要调试一个硬件设备装一个APP了,在应用商店下载别人的网络调试助手,又有广告,还不如直接写一个比较完整的网络调试助手.目前支持的功能有tcp客户端和服务端,udp,低功耗蓝牙客户端 ...

  9. C#之windows桌面软件第三课:完整的串口调试助手

    接上一节,这节来编写一个完整的串口调试助手! using System; using System.Collections.Generic; using System.ComponentModel; ...

最新文章

  1. Runtime-消息发送和消息转发
  2. python路3--tuple、str
  3. MySQL 四种链接
  4. 三 Hibernate持久化状态主键生成策略
  5. sqoop简单的demo 先跑起来再说
  6. 简明python教程 沈洁元_Python简明教程-沈洁元
  7. Cadence Allegro如何复用设计参数?
  8. xp计算机组策略怎么打开,WinXP系统打开组策略的命令是什么?
  9. java的副语言_公共表达中,悄悄影响你的“副语言”
  10. Android 的窗口管理系统 (View, Canvas, WindowManager)
  11. 基于javaweb、springboot2.1旅游管理系统01
  12. java 防止盗链AntiLeech
  13. android什么意思!读完我这份《Android开发核心源码精编解析》面试至少多要3K!面试建议
  14. 如何利用Parsec+Zerotier+moon实现云电脑云游戏
  15. iOS开发:兼容适配iPhone X
  16. 2021-MAXP-DGL图机器学习大赛-Graph@ICT-复盘与总结【rank6】
  17. VMware Workstation实例二:单IP的虚拟机提供外网访问
  18. origin多图叠加_origin 将两张图放在一起??
  19. 自制python脚本,6小时获取上千台mysql数据库服务器
  20. 微型计算机中断技术论文,浅析微机继电保护技术论文

热门文章

  1. 软考各科目考核内容详细介绍,看这里
  2. 本国货币贬值对经济的影响
  3. 搜索引擎优化基础,第 1 部分: 提高站点在搜索引擎中的排名
  4. 中国人为什么不富裕?
  5. MATLAB求解模型待定系数
  6. 【阅读整理】Implementation of an algorithm for automated phenotyping through plant 3D-modeling
  7. 千寻和省cors精度对比_CORS账号常见问题—什么情况需要用到千寻知寸cors账号?它比省cors更具哪些优势?...
  8. 动手做一个简单的智能小车
  9. 前端开发基础——HTML5
  10. VB的无解,变现为首,质量其次,就这样了?