linux - 从 Go 访问 Linux 网络 API

标签 linux networking go network-programming wifi

我想用 Go 编写一个简单的实用程序来管理 Linux 上的网络(有线和无线)连接,类似于 NetworkManager 和 WICD 的软件。

在 Go 中访问 Linux API 的正确方法是什么?我应该使用 C 绑定(bind)和 native Linux API 调用、执行命令并解析其输出,还是可能有一些库旨在执行我想执行的操作?

最佳答案

您很可能想使用 cgo因为调用任何 C API 真的很容易

一个额外的好处是,随着时间的推移,C API 通常非常稳定,因为库创建者几乎总是选择新函数而不是破坏现有函数的 API。

运行命令行工具和解析输出很容易出错,因为您调用的软件很可能会超时更改它的输出,从而破坏您的解析器。

关于linux - 从 Go 访问 Linux 网络 API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30997778/

相关文章:

linux - 与 I/O 地址端口相比,设备 mmap 如何工作?

c - 有没有合适的方法来编写连续运行的程序

networking - TCP套接字中的主动打开和被动打开有什么区别?

thread-safety - Go闭包捕获变量和共享数据?

oop - Golang OOP 架构,将 slice 传递给构造函数,创建 slice 对象

ruby - Net::ReadTimeout on headless Firefox Watir-WebDriver cukes

android - getPsc() 在三星设备上返回 -1。我该怎么做才能让它正常工作?

maven - 为什么maven这么慢

C# - 通过网络解决方案调用另一个程序中的函数

http - 在golang中获取TTFB(第一个字节的时间)值