Sto scrivendo una libreria C# per Philips Hue Lights. Sto cercando di scrivere i wrapper API di base nel set portatile .NET in modo da poter riutilizzare questa libreria per varie piattaforme come Windows 8/RT/WP. L'API stessa è su tutto HTTP utilizzando REST, quindi HttpWebRequest
servirà la maggior parte delle mie esigenze.Libreria di classi portatile .NET e supporto UDP
Il bridge di rete che controlla le luci stesse può essere rilevato utilizzando SSDP su UDP. Tuttavia, non riesco a trovare un modo per utilizzare i socket UDP nella libreria di classi portatile (PCL).
Non è disponibile lo System.Net.Sockets
. Nulla è nello spazio dei nomi System.Net
che lo consentirebbe. Ho visto uno DatagramSocket
elencato in Windows.Networking.Sockets
ma non riesco a vedere quello spazio dei nomi in Intellisense.
Qualcuno ha idea di come ottenere la funzionalità UDP per SSDP sotto .NET PCL?
Non voglio davvero dover separare la funzionalità di rilevamento dalla libreria principale.
In questo momento sto prendendo di mira .NET 4.5 + SL 5 + WP 8 + .NET for Windows Store
. Avevo l'impressione che gli zoccoli fossero ancora disponibili.
Sì, la Xbox 360 è ** deselezionata **. Non riesco a capire di cosa si debba comprendere esattamente l'NCL. Ogni esempio di MSDN che vedo fa riferimento a 'System.Net.Sockets', ma non ho accesso a quello in _.NET PCL_. Sto iniziando a pensare che dovrò spostare la porzione di scoperta nel programma attuale poiché non riesco a ottenere UDP in alcuna forma in modo portatile. – Erik
Per adattarsi al profilo .NETCore, una classe deve avere * un po * di comunanza tra le piattaforme. Non ce n'è, nessun supporto socket per XBox, WP8 e Store lo fa in modo totalmente diverso. Non è possibile utilizzare PCL se UDP è importante, è necessario selezionare una piattaforma. –
Sì, credo che avrei dovuto creare interfacce per l'architettura di base e quindi implementare ciascun set sulla piattaforma specifica per il networking UDP. Sembrerebbe che 'System.Net.Sockets' è per le applicazioni .NET tradizionali e' Windows.Networking.Sockets' è per le applicazioni Windows Store. – Erik