Download presentation
Presentation is loading. Please wait.
1
App Peripherals CAN BILGIN, Authority Partners Inc.
3
Connectivity One Windows. Tens of device types and gadgets. Cloud, web, home, car, tv, sound system… Multiple Connection options and protocols.
4
Connecting People Devices
Connectivity on and among UWP devices is crucial!
5
Indigo
6
UWP applications can now utilize WCF services
WCF is BACK!
7
Evolving WCF Released in November 2006 With .NET 3.0
9/12/2017 5:10 PM Evolving WCF Released in November 2006 With .NET 3.0 Go to technology in Windows App Fabric in 2010 Still used as the underlying tech for Service Fabric in 2016 Removed from Windows 8.1 Phone but back on UWP Part of .NET Core © 2014 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
8
Revamped WCF Stack Supported Bindings Client Channels & Features
BasicHttpBinding NetTcpBinding NetHttpBinding Session Streams Duplex Channels
10
Web
11
HttpClient Revisited .NET client & WinRT version merged into one. Supports and, if possible, uses HTTP/2 Up to 100% faster. Complete A-synchronicity.
12
Web Sockets Full-duplex single socket. Used for real-time data and messaging. Regarded as a web technology MessageWebSocket and StreamWebSocket.
13
UWP Socket Scenarios MessageWebSocket StreamWebSocket
Suitable for typical scenarios where messages are not extremely large. Suitable for scenarios in which large files (such as photos or videos) are being transferred. Enables notification that an entire WebSocket message has been received. Allows sections of a message to be read with each read operation. Supports both UTF-8 and binary messages Supports only binary messages. Similar to a UDP or datagram socket. Similar to a TCP or stream socket.
14
Extremely crucial for IoT implementations.
SignAL-R
15
Signal-R
17
Sockets
18
System.Net.Sockets Optimized Performance (Batched Sends). WinSock, StreamSocket and Secure Channels… SocketActivityTrigger and SocketBroker.
19
Batched Send // Send a set of packets inefficiently, one packet at a time. IList<IBuffer> packetsToSend = PreparePackets(); var outputStream = stream.OutputStream; foreach (IBuffer packet in packetsToSend) { // Incurs kernel transition overhead for each packet await outputStream.WriteAsync(packet); }
20
Batched Send // This way enables the system to do batched sends IList<IBuffer> packetsToSend = PreparePackets(); var outputStream = stream.OutputStream; int i = 0; Task[] pendingTasks = new Task[packetsToSend.Count]; foreach (IBuffer packet in packetsToSend) { // track all pending writes as tasks, pendingTasks[i++] = outputStream.WriteAsync(packet).AsTask(); } await Task.WaitAll(pendingTasks);
21
Background Sockets Create a SocketActivityTrigger Register a background task. Open the socket and/or socket listener TransferOwnership of the socket.
22
Bluetooth
23
NEW Bluetooth Profiles
New Bluetooth APIs available for UWP NEW Bluetooth Profiles
24
Bluetooth Stack Completely merged with WinRT GATT / LE RFCOMM
26
Bluetooth Stack Completely merged with WinRT Beacon/Advertisement Low-Energy Profile Improvements
27
Windows 10 APIs Windows.Devices.Bluetooth.Advertisement
Windows.Devices.Bluetooth.Background Simple but powerful advertising functionality Watcher – receive advertisements. Publisher – limited broadcast functionality Trigger Implementations for RFCOMM, GATT and Advertisement. Windows.ApplicationModel.Background Power efficient watcher.
28
Beacon/Advertisement
Consumer: Configure watcher with filters Attach event handlers Start the watcher
29
Beacon/Advertisement
Publisher: Configure publisher with payload Start publisher Received Signal Strength Indication (RSSI) Header MAC Payload
31
Wi-Fi
32
Applications can take more out of WI-FI
Wi-Fi SCENARIOS
33
Wi-Fi Control Use Radio utility class to control Wi-Fi Radio. Use WiFiAdapter class to utilize adapters. Discover and Connect to Networks.
34
Wi-Fi Control // Request access to set the radio state // must be called at least once from the UI thread await Radio.RequestAccessAsync(); // Turn on Wi-Fi radios var radios = await Radio.GetRadiosAsync(); foreach (var radio in radios) { if (radio.Kind == RadioKind.WiFi) { await radio.SetStateAsync(RadioState.On); } }
35
Wi-Fi Control var access = await WiFiAdapter.RequestAccessAsync(); if (access == WiFiAccessStatus.Allowed) { var result = await Windows.Devices.Enumeration.DeviceInformation. FindAllAsync(WiFiAdapter.GetDeviceSelector()); if (result.Count >= 1) firstAdapter = await WiFiAdapter.FromIdAsync(result[0].Id); } else NotifyUser(“No WiFi Adapters detected on this machine”);
36
Wi-Fi Direct Services App Specific Communication Advertiser/Connector Model Needs to be supported by hardware Bi-Directional: Seeking & Advertising
37
Wi-Fi Direct Services // Create an Advertisement Publisher var publisher = new WiFiDirectAdvertisementPublisher(); // Turn on Listen state publisher.Advertisement.ListenStateDiscoverability = WiFiDirectAdvertisementListenStateDiscoverability.Normal; // Register for connection requests var listener = new WiFiDirectConnectionListener(); listener.ConnectionRequested += OnConnectionRequested; // Start the advertiser publisher.Start();
39
Teethering Start a Mobile Hotspot on the Device. Was only available for Mobile Operators.
40
Teethering – Initialize Manager
NetworkOperatorTetheringManager tetheringManager = null; ConnectionProfile profile = NetworkInformation.GetInternetConnectionProfile(); if (profile != null && profile.IsWwanConnectionProfile) { tetheringManager = NetworkOperatorTetheringManager .CreateFromConnectionProfile(profile); }
42
AllJoyn
43
Applications can utilize AllJoyn Producer/Consumer Model
AllJoyN Namespace
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.