c++ - 如何使程序与网络接口无关
问题描述
我目前在一个学生团队中,我们必须通过网络与机器人进行通信。团队成员拥有各种具有不同界面的 linux 发行版eth0
,wlp4s0
等等enp4s0f1
。
我们尝试过:
- 从类似的东西中找出接口,然后生成一个包含该接口的文件,以由程序加载。这不适用于 VM 用户。
- 使用 boost tcp resolver 来找出接口,但这并不可靠。
- 使用设置脚本设置通用虚拟接口,以将默认接口与该虚拟接口桥接。这对以太网很有效,但我们也需要它为 wifi 工作,而且有些网卡不支持 wifi 桥接。
这些都不能很好地工作并且看起来像黑客,我们可以让每个人都将他们的网络接口作为参数传递给程序作为最后的手段,但只是想看看我们是否可以避免这种情况。
本质上,我们想要一种方法来使用通用名称对接口进行别名/链接,然后在程序中使用该名称以避免在每次运行时为每台机器配置它。这可能吗,如果可以,我们该怎么做?
解决方案
推荐阅读
- laravel - 拥有 API 和网站时如何设置路由
- java - 从外部 API 获取值并通过另一个控制器显示
- r - 返回向量元素乘积函数的函数
- javascript - 如何创建自定义视频:未捕获的 TypeError:无法读取 null 的属性(读取“querySelector”)
- r - 是否可以在 R 包 spatstat 中使用“Pairwise”函数构造“MultiStrauss”或类似“MultiFiksel”的东西?
- matlab - 在Matlab中使用数值方法绘制一阶非线性微分方程的解
- java - Spring cloud - 客户端不使用 Spring Boot 2.5.6 中的 spring.config.import 从配置文件服务器获取配置
- node.js - 在 post 中间件 mongodb 中加密 id
- elasticsearch - 在spring data elasticsearch中,如何在所有结果上投影或添加计算字段?
- gradle - 使用 gradle 命令构建成功但未执行标记的 junit 测试用例