【发布时间】:2024-01-13 15:08:02
【问题描述】:
我的软 ap 解决方案有问题。当我将客户端连接到 ap 时,连接建立并且一切正常。但我注意到,当我对主机设置 ping 时,它每 2 分钟失去一次连接,然后突然恢复连接。 不幸的是,这对我的解决方案来说是不可接受的。
我找到了这个链接:On using the WiFi Direct Api on Windows? ,它描述了同样的问题,但答案不够清楚,我想要一个代码示例或更详细的解释。
在我的解决方案中,我使用这个类: https://docs.microsoft.com/en-us/uwp/api/windows.devices.wifidirect.wifidirectadvertisementpublisher?view=winrt-19041 将旧设置设置为“启用”: https://docs.microsoft.com/en-us/uwp/api/windows.devices.wifidirect.wifidirectlegacysettings.isenabled?view=winrt-19041
【问题讨论】:
-
您的机器是否正在断电?通常您设置 KeepAive 选项,该选项会定期向服务器发送空消息,因此服务器不会关闭连接。请参阅以下内容:docs.microsoft.com/en-us/uwp/api/…
-
您好,感谢您的回答。我不使用 KeepAlive 选项。在我的解决方案中,我只使用我的问题中链接的 WiFiDirectAdvertisementPublisher 类。我需要从 Windows.Networking.Sockets 实现代码吗?我注意到这里:docs.microsoft.com/en-us/uwp/api/… 你只能将最短时间设置为 15 分钟,但是从设备到接入点的连接已经中断了 7 次。
-
WifiDriect 已经使用了套接字。问题是如何设置选项。我不确定现在的问题是否是由于设置了省电选项,因此在进入省电模式时连接会关闭;或 KeepAlive。您找到的链接是 KeepAlive 的服务器端,而不是您的客户端。 KeepAlive 是为了防止服务器在没有数据发送时关闭连接。所以通常服务器在关闭前等待 15 分钟(但这个时间可以更短)。阻止服务器关闭的客户端将发送空消息,因此服务器看不到空闲通道
-
也许是一个愚蠢的问题,但我不应该从两端 ping 防止插座进入省电模式吗?我写的脚本也是服务器端的,客户端只是使用普通的windows wifi接口通过ssid和psk连接。所以我只能在客户端上更改 Windows 设置,因为我还可以在服务器上编辑脚本。可能还需要指出的是,客户端没有通过服务器获得互联网访问权限,该 ap 仅用于客户端和服务器之间的连接。
-
这些机器不是我设计的!!!您必须检查机器关机选项,尤其是笔记本电脑。制造商想要宣传电池寿命,他们会不惜一切代价获得更多寿命。假设您有一台 PC 连接到一个不断更新的网站。您是否希望机器在您离开并停止使用鼠标和键盘时进入低功耗模式,即使互联网连接仍在 ping 通?
标签: c# windows wifi wifi-direct access-point