项目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的执行不会阻塞到后面代码的执行。

最终解决办法:二

解决linux系统中对两个不同的网络连接http访问的更多相关文章

  1. Linux系统中的硬件问题如何排查?(6)

    Linux系统中的硬件问题如何排查?(6) 2013-03-27 10:32 核子可乐译 51CTO.com 字号:T | T 在Linux系统中,对于硬件故障问题的排查可能是计算机管理领域最棘手的工 ...

  2. Linux系统中存储设备的两种表示方法

    转:https://blog.csdn.net/holybin/article/details/38637381 一.对于IDE接口的硬盘的两种表示方法: 1.IDE接口硬盘,对于整块硬盘的两种表示方 ...

  3. 【未解决】对于使用Windows的IDEA进行编译的文件,但无法在Linux系统中统计代码行数的疑问

    在我学习使用Windows的IDEA的过程中,将代码文件转移到Linux虚拟机当中,但无法在Linux系统中统计代码行数. 注意:拷贝进虚拟机的文件均能编译运行. 具体过程如下: root@yogil ...

  4. 嵌入式linux系统中,lsusb出现unable to initialize libusb: -99 解决办法 【转】

    转自:http://cpbest.blog.163.com/blog/static/41241519201111575726966/ libusb是linux系统中,提供给用户空间访问usb设备的AP ...

  5. 由安装两块网卡的linux系统中引起网络不通想到的

    由安装两块网卡的linux系统中引起网络不通想到的 一天,小王突然急匆匆的来找我,他说:"我在机子上刚装的redhat怎么老也ping不通服务器,我网卡的驱动都安装了,ping 自己的两块网 ...

  6. Linux系统中“动态库”和“静态库”那点事儿 /etc/ld.so.conf 动态库的后缀为*.so 静态库的后缀为 libxxx.a ldconfig 目录名

    Linux系统中“动态库”和“静态库”那点事儿 /etc/ld.so.conf  动态库的后缀为*.so  静态库的后缀为 libxxx.a   ldconfig   目录名 转载自:http://b ...

  7. 用户管理 之 Linux 系统中的超级权限的控制

    在Linux操作系统中,root的权限是最高的,也被称为超级权限的拥有者.普通用户无法执行的操作,root用户都能完成,所以也被称之为超级管理用户. 在系统中,每个文件.目录和进程,都归属于某一个用户 ...

  8. Linux系统中“动态库”和“静态库”那点事儿【转】

    转自:http://blog.chinaunix.net/uid-23069658-id-3142046.html 今天我们主要来说说Linux系统下基于动态库(.so)和静态(.a)的程序那些猫腻. ...

  9. LINUX系统中动态链接库的创建与使用

    大家都知道,在WINDOWS系统中有很多的动态链接库(以.DLL为后缀的文件,DLL即Dynamic Link Library).这种动态链接库,和静态函数库不同,它里面的函数并不是执行程序本身的一部 ...

  10. LINUX系统中动态链接库的创建与使用{补充}

    大家都知道,在WINDOWS系统中有很多的动态链接库(以.DLL为后缀的文件,DLL即Dynamic Link Library).这种动态链接库,和静态函数库不同,它里面的函数并不是执行程序本身的一部 ...

随机推荐

  1. 郁金香-了解MFC信息机制

    控件的事件 窗口的信息

  2. 【KAWAKO】soundtoch-使用可执行文件对音频进行变调或变速

    目录 下载 单次使用 使用python脚本批量处理 下载 从官网下载可执行文件. 单次使用 在终端中直接运行,会出现使用方法和可选参数. 变速就设置tempo,变调就设置pitch,都变就都设置.变速 ...

  3. 使用vue 搭建猫眼后台演员列表

    首先创建一个DirectorList.vue js部分

  4. npm ERR! code ERESOLVE npm ERR! ERESOLVE unable to resolve dependency tree

    VScode报错:npm ERR! code ERESOLVE npm ERR! ERESOLVE unable to resolve dependency tree 不能解析依赖树 ,需要先修复上面 ...

  5. SystemVerilog Tutorial

    来自网站 1.网站说明-tutorial This SystemVerilog tutorial is written to help engineers with background in Ver ...

  6. redis 集群配置(从0到1)

    1.关闭配置文件 appendonly yes改为no 2.到redis目录下拷贝redis.conf文件 cp ./redis.conf ./7001/ cp ./redis.conf ./7002 ...

  7. linux更新cmake(无需删除旧版本)

    旧版本:3.15 新版本:3.22.1 下载新版本 https://cmake.org/files/ 手动下载或使用wget wget https://cmake.org/files/v3.22/cm ...

  8. mfc拷贝到我的电脑出现的问题

    拿到工程解压打开,霍,挺好 往下面翻了翻看到了这个 再怎么错误,怎么会没有string呢?看了看头文件,包含的有,所以 我去找了一下string.h的位置 项目->属性->VC++目录-& ...

  9. 前端面试题 10 个「有用」JavaScript 代码片段

    携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第16天,点击查看活动详情 降低阅读负担,启发创作心智,轻松学习 JavaScript 技巧,日拱一卒,jym,冲~ 注:本篇可能更 ...

  10. ubuntu下编译安装uWebSockets

    最近开始接触websocket,第一次装的时候,还是遇到了些问题,这里记录一下 1.从git下载uWebSockets 地址:https://github.com/uNetworking/uWebSo ...