项目5G

问题背景:调用网络端的服务器服务,对本地机器人进行控制,以实现机器人应执行的任务。

需求:主机需要访问外网的API,同时在本地局域网与机器人的API进行通信。

问题:要解决HTTP请求发送到指定网络的问题?

可能的方法收集:

一,使用终端更改网络连接的跃点,跃点越低优先级越高,可以尝试使用小的脚本进行终端的一些操作,以实现在访问特定地址时进行网络的切换。

route -n
sudo ifmetric wlp0s20f3 90 #更改跃

QT 执行终端命令 通过Qprocess

QProcess *process=new QProcess;
process->start("bash"); //启动终端(Windows下改为cmd)
process->waitForStarted(); //等待启动完成
process->write("命令"+‘\n’); //向终端写入命令,注意尾部的“\n”不可省略

二,网络中继

  但网络中继过程中有一些继承的问题,具体解决办法参考另一片文章《路由器WDS(无线桥接,无线中继)

Tips:

1. Qt 中访问网络使用 QNetworkAccessManager,它的 API 是异步的,这样在访问网络的时候不需要启动一个线程,在线程里执行请求的代码。(但这一点在有时候需要阻塞时就是个麻烦了)

需要注意一点的是,请求响应的对象 QNetworkReply 需要我们自己手动的删除,一般都会在 QNetworkAccessManager::finished 信号的曹函数里使用 reply->deleteLater() 删除,不要直接 delete reply

同步和异步的区别:同步,只有当前API执行完成后,才能继续执行下一个API;异步:当前API的执行不会阻塞到后面代码的执行。

最终解决办法:二

最新文章

  1. POJ 2739. Sum of Consecutive Prime Numbers
  2. UIToolBar
  3. Python之路----------ConfigParser模块
  4. 设置ubuntu 下git 的用户名和邮箱
  5. codevs 2606 约数和问题
  6. BAT及各大互联网公司前端笔试面试题--Html,Css篇
  7. 安装xampp无法设置默认时间的坑
  8. Memcached 及 Redis 架构分析和比较
  9. matlab求方差,均值,均方差,协方差的函数
  10. HDU-1020-Encoding(水题,但题目意思容易搞错,英语的问题)
  11. Json及Json字符串
  12. Memcache+cookie实现模拟session
  13. Java并发框架——AQS之阻塞与唤醒
  14. http://www.layui.com/doc/modules/laydate.html实时通信\日期、==插件
  15. C#进度条简单应用
  16. play framework 笔记
  17. Install Oracle Database client in silent mode
  18. numpy中的norm用法
  19. 问题 Duplicate entry '0' for key 'PRIMARY'
  20. Ogre Compositor解析

热门文章

  1. 搭建Git服务器教程(整理自腾讯云开发者实验室)
  2. [java安全基础 03]CC1
  3. 代码随想录算法训练营day02 | leetcode 977/209/59
  4. Vite 项目添加 Sass/Scss 并配置全局样式
  5. Solon v2.2.1 发布。向 Graalvm Native 友好靠近
  6. html音乐播放器
  7. TiDB日常运维手册
  8. 查看git的用户名和密码
  9. ELK分布式日志系统的搭建
  10. VS2015使用gitee插件进行协同开发