从 .NetCore 应用程序访问 Linux 个根文件
Access Linux Root Files from .NetCore app
我创建了一个在 Raspberry Pi 上运行良好的 .net 核心应用程序。
我想尝试将此设备连接到 wifi 路由器或来自 iPhone 的接入点。
看了之后我知道你可以创建一个conf文件并通过卡将它放到sd卡上reader。
我想做的是允许用户通过我自己的界面输入他们的 wifi 详细信息,并让我自己的 c# 程序进行更改。
我花了一些时间,但没有找到例子。
如果有人知道...
基于 GUI 的配置的通常方法不是直接编辑系统配置文件,而是通过网络守护程序提供的配置界面进行对话。
wpa_supplicant
可以通过 wpa_cli
工具进行对话。您可以通过将 wpa_cli
作为一个单独的进程来使用它,并将 stdio 重定向到管道中,然后将配置命令发送到 which/from 中。
更新: 要与 wpa_cli
对话,您需要创建一个具有重定向输出的进程。使用 Mono,您可以按以下方式进行操作
private void start_wpa_cli()
{
ProcessStartInfo psI = new ProcessStartInfo("wpa_cli");
psI.UseShellExecute = false;
psI.RedirectStandardInput = true;
psI.RedirectStandardOutput = true;
Process p = new Process();
p.StartInfo = psI;
p.Start();
StreamWriter sw = p.StandardInput;
sw.AutoFlush = true;
StreamReader sr = p.StandardOutput;
...
然后您可以通过 sw
发送 wpa_cli 命令并从 sr
读取结果。 wpa_cli
的命令可以在它的联机帮助页中找到。
如果使用NetworkManager
,您可以通过它的D-Bus 接口与它对话。 更新: 要从 .Net/Mono 访问 D-Bus,您可以使用 https://github.com/mono/dbus-sharp
我创建了一个在 Raspberry Pi 上运行良好的 .net 核心应用程序。
我想尝试将此设备连接到 wifi 路由器或来自 iPhone 的接入点。
看了之后我知道你可以创建一个conf文件并通过卡将它放到sd卡上reader。
我想做的是允许用户通过我自己的界面输入他们的 wifi 详细信息,并让我自己的 c# 程序进行更改。
我花了一些时间,但没有找到例子。
如果有人知道...
基于 GUI 的配置的通常方法不是直接编辑系统配置文件,而是通过网络守护程序提供的配置界面进行对话。
wpa_supplicant
可以通过 wpa_cli
工具进行对话。您可以通过将 wpa_cli
作为一个单独的进程来使用它,并将 stdio 重定向到管道中,然后将配置命令发送到 which/from 中。
更新: 要与 wpa_cli
对话,您需要创建一个具有重定向输出的进程。使用 Mono,您可以按以下方式进行操作
private void start_wpa_cli()
{
ProcessStartInfo psI = new ProcessStartInfo("wpa_cli");
psI.UseShellExecute = false;
psI.RedirectStandardInput = true;
psI.RedirectStandardOutput = true;
Process p = new Process();
p.StartInfo = psI;
p.Start();
StreamWriter sw = p.StandardInput;
sw.AutoFlush = true;
StreamReader sr = p.StandardOutput;
...
然后您可以通过 sw
发送 wpa_cli 命令并从 sr
读取结果。 wpa_cli
的命令可以在它的联机帮助页中找到。
如果使用NetworkManager
,您可以通过它的D-Bus 接口与它对话。 更新: 要从 .Net/Mono 访问 D-Bus,您可以使用 https://github.com/mono/dbus-sharp