目前我即將弄清楚,我在Windows 10 IoT Core上的UWP應用程序中直接遇到的問題是WiFi。目標是讓StreamSocketListener接受來自WiFi-direct的傳入連接。這適用於我製作的第一個連接,對StreamSocketListener的第二個請求破壞了WiFi直接會話並斷開連接。作爲一個方面說明,我必須使用帶SSID和密碼短語的傳統WiFi-Direct實施。下面是一些示例代碼UWP WiFi-Direct在第二次傳入StreamSocketListener連接後斷開連接
wifi直連出版商
WiFiDirectAdvertisementPublisher _publisher = new WiFiDirectAdvertisementPublisher();
_publisher.StatusChanged += OnStatusChanged;
WiFiDirectConnectionListener _listener = new WiFiDirectConnectionListener();
try
{
_listener.ConnectionRequested += OnConnectionRequested;
}
catch
{
return;
}
_publisher.Advertisement.ListenStateDiscoverability = WiFiDirectAdvertisementListenStateDiscoverability.Normal;
_publisher.Advertisement.IsAutonomousGroupOwnerEnabled = true;
_publisher.Advertisement.LegacySettings.IsEnabled = true;
PasswordCredential creds = new PasswordCredential();
creds.Password = passphrase;
_publisher.Advertisement.LegacySettings.Passphrase = creds;
_publisher.Advertisement.LegacySettings.Ssid = ssid;
_publisher.Start();
if (_publisher.Status == WiFiDirectAdvertisementPublisherStatus.Started)
{
// OK
}
else
{
// Error
}
OnConnectionRequested事件處理
WiFiDirectConnectionRequest connectionRequest = connectionEventArgs.GetConnectionRequest();
WiFiDirectDevice wfdDevice = null;
try
{
wfdDevice = await WiFiDirectDevice.FromIdAsync(connectionRequest.DeviceInformation.Id);
}
catch
{
//
}
wfdDevice.ConnectionStatusChanged += OnConnectionStatusChanged;
listEndpointPairs = wfdDevice.GetConnectionEndpointPairs();
StreamSocketListener
_listener = new StreamSocketListener();
await _listener.BindEndpointAsync(listEndpointPairs[0].LocalHostName, "80");
listener.ConnectionReceived += (sender, args) => ConnectionReceivedHandler(args);
正如我以前說過的,它工作得很好,但我不能發送向StreamSocketListener發送第二個請求,如果是這樣的話,WiFi-direct Connection斷開連接。我錯過了什麼或有過錯?
感謝諮詢
什麼是你的Windows iot核心設備? –
帶有最新版本的Windows 10 iot核心的raspberrypi 3。 – andy
你使用板載WiFi或外部WiFi適配器嗎? –