2016-04-08 4 views
6

Je suis l'exemple d'application d'un serveur Web, la gestion des demandes entrantes via TCP avec un port.UWP Raspberry Pi Webserver numéro

Exemple d'application avec le code: https://incredibits.io/project/windows-10-iot-internet-of-things-tips/windows-10-iot-raspberry-pi-web-server

Lors de débogage de l'application UWP sur ma machine Windows 10 et essayez d'accéder au IP local (192.168.xx < - Ofcourse je suis entré dans ma IP locale réelle) I obtenir ce que je suis censé faire. L'application reçoit une demande entrante et me renvoie des données (le client) sur un autre de mes ordinateurs. Les problèmes auxquels je fais face sont quand je déploie ceci à mon Raspberry Pi 3 fonctionnant sous Windows 10 IoT Core (le plus nouveau d'Insider), je ne peux pas accéder à l'application de mon ordinateur client du tout. Est-ce une chose avec le pare-feu Pi ou quelque chose d'autre qui empêche cela? Je peux accéder à l'interface Web de l'IoT Core sur le port 8080, mais je ne peux pas accéder à mon application fonctionnant sur le port 80. (J'ai essayé de changer le port à un autre, fonctionne localement sur mon Windows 10 mais pas sur le port 80). Pi)

Est-ce que quelqu'un connaît une solution, ou a rencontré un problème similaire?

Note: J'ai aussi essayé des exemples comme (https://ms-iot.github.io/content/en-US/win10/samples/BlinkyWebServer.htm) qui encore une fois, fonctionne sur mon PC de Windows 10, et peut être consulté par mon autre PC si leur sur le même réseau, mais pas sur mon Pi)

+1

Eh bien, est-ce un pare-feu? La désactiver devrait être l'étape 1 du débogage. – canton7

+0

@ canton7 C'est la chose, j'ai cherché et il ne semble pas que le Raspberry Pi sur Windows 10 IoT Core a un pare-feu? Atleast je ne peux pas voir un moyen de le désactiver via SSH. –

+0

Wow, cela semble vraiment retentir. Malheureusement, je suis en vacances et je n'ai pas accès à toutes mes affaires. Je n'utilise pas le noyau Windows 10 IoT mais une version de Linux sur Intel Edison. Un couple de notes. Le noyau IoT cible l'IoT industriel, donc je suis sûr qu'il a intégré la sécurité. Essayez un client différent (pas votre plate-forme de développement). Vérifiez votre routeur, le noyau IoT et les pare-feu de l'ordinateur de dev. Certaines piles industrielles ont des listes blanches. –

Répondre

6

J'ai trouvé la solution à mon problème.

Le port que j'utilisais n'était pas ouvert dans le pare-feu du Raspberry Pi. Je ne pouvais pas trouver comment ajouter une règle pour le pare-feu, mais après un peu d'aide sur le forum Freenode C# Chat, j'ai trouvé l'extrait suivant:

Tout d'abord je me connecte à la Pi grâce à PowerShell

Enter-PsSession -ComputerName MyRaspberryPi-Credential MyRaspberryPi\Administrator 

Je Ajoutez manuellement l'ouverture du pare-feu du port que j'utilise. Dans ce cas, le port 8080.

netsh advfirewall firewall add rule name="Raspberry Pi Webserver" dir=in action=allow protocol=TCP localport=8080 

Ensuite, tout a fonctionné comme prévu. Je pourrais accéder au port sur mon Raspberry Pi! Tout bon!

Merci à @ canton7 et @ taylor-kidd dans les commentaires, pour venir avec des suggestions qui à la fin m'a aidé!

EDIT 12 de Avril: Il semble que cette question avec le pare-feu ne pas être ouvert, était en fait un problème connu par Microsoft déjà. Ils écrivent que dans leurs notes Relase pour la version Insider Preview 14295 (que j'utilise) ici http://ms-iot.github.io/content/en-US/win10/ReleaseNotesInsiderPreview.htm