2016-04-24 3 views
2

Die Kommunikation zwischen meinem Server und benutzerdefinierten Test-Client funktioniert.SignalR funktioniert nicht auf Himbeere mit Windows 10

Ich eine Verbindung von meinem UWP hinzufügen und es auf meinem lokalen Windows ausführen und es funktioniert.

Wenn ich meine UWP auf Raspberry running win iot Kern eingesetzt das Signal wird nicht empfangen, keine Fehler in der Ausgabe angezeigt.

Server:

class Program 
{ 
    static void Main(string[] args) 
    { 
     // This will *ONLY* bind to localhost, if you want to bind to all addresses 
     // use http://*:8080 to bind to all addresses. 
     // See http://msdn.microsoft.com/en-us/library/system.net.httplistener.aspx 
     // for more information. 
     string url = "http://localhost:8080"; 
     using (WebApp.Start<Startup>(url)) 
     { 
      Console.WriteLine("Server running on {0}", url); 
      Console.ReadLine(); 
     } 
    } 
} 
public class Startup 
{ 
    public void Configuration(IAppBuilder app) 
    { 
     app.UseCors(CorsOptions.AllowAll); 
     app.MapSignalR(); 
    } 
} 

Testclient:

public class Program 
{ 
    public static void Main(string[] args) 
    { 
     //Set connection 
     string url = "http://localhost:8080"; 
     var connection = new HubConnection(url); 
     //Make proxy to hub based on hub name on server 
     var myHub = connection.CreateHubProxy("TestHub"); 
     //Start connection 

     connection.Start(); 

     while (true) 
     { 
      Console.ReadLine(); 
      myHub.Invoke("SendSignal"); 
     } 
    } 
} 

UWP APP:

InitializeComponent(); 

pushButtonValue = GpioPinValue.High; 
InitGPIO(); 

//Set connection 
string url = "http://localhost:8080"; 
var connection = new HubConnection(url); 
//Make proxy to hub based on hub name on server 
var myHub = connection.CreateHubProxy("TestHub"); 

//Start connection  
myHub.On("ReceiveSignal", FlipLED); 
connection.Start(); 


//timer = new DispatcherTimer(); 
//timer.Interval = TimeSpan.FromMilliseconds(50); 
//timer.Tick += Timer_Tick; 
//timer.Start(); 

Ich habe keine Ahnung, was mit c hack/mach weiter.

Warum wird die Nachricht nicht empfangen, wenn meine App auf meiner PI ausgeführt wird?

+0

Pakete können serverseitig erfasst werden, um festzustellen, ob der Client eine Verbindung zu ihm herstellt. Überprüfen Sie das und posten Sie, was Sie finden. –

Antwort

1

Sie hören auch localhost auf dem Pi. Verwenden Sie die IP-Adresse oder den Hostnamen des Server-PCs, um diesen Server als URL anzuhören.


Wenn dies eine Antwort auf Ihre Frage ist, markieren Sie diese bitte als Antwort.

+0

das war ein Teil des Problems, ich habe auch auf dem Server auf meine LAN-IP und in UWP App geändert dann musste ich auch meine Firewall deaktivieren, weil die App auf Himbeere nicht verbinden konnte, dieses Mal wurde ein Fehler geworfen, ich Fügt meiner Firewall eine Regel hinzu. –

+0

danke @Martin, für die Erkennung der IP –