2016-05-09 14 views
0

Ich bin auf die Umsetzung unter Bezugnahme in diesem Video beschrieben: https://www.youtube.com/watch?v=mnAenNaEpJkKommunizieren mit eingebetteten HTTP-Server über XTC_APP_ENDPOINT

Diese lokal feinen Lauf arbeitet mit der IP-Adresse meines Gerätes über einen beliebigen Port (solange der Client und Server benutzen denselben Port).

Test-Client:

var url = isTestCloud ? Environment.GetEnvironmentVariable("XTC_APP_ENDPOINT") : "http://" + deviceIp + ":8081"; 
HttpClient client = new HttpClient { 
    BaseAddress = new Uri(url), 
}; 

In App:

HttpListener _listener = new HttpListener(); 
var prefixes = new [] { 
    "http://*:8081/", 
}; 
foreach (string s in prefixes) 
    _listener.Prefixes.Add (s); 
_listener.Start(); 

Dieser große Lauf lokal funktioniert, aber bei dem Versuch, in Test Cloud zu laufen, erhalte ich eine System.TimeoutException in meinem Test bei dem Versuch, eine Verbindung zum Spielserver.

Aus dem Video macht James klar, dass Sie auf Port 8081 hören müssen, aber das war vor ein paar Jahren und ich frage mich, ob es sich geändert hat. Ich habe auch versucht, 8081 zu 37777 zu ändern. Aber ich hatte immer noch das gleiche Ergebnis.

bemerkte ich die XTC_APP_ENDPOINT env Variable gibt so etwas wie: http://devicehost7.prod:37777/wd/token-1acaf8c0-2987-4a49-aa5b-3ab795ecb910/

ich meinen Server 37777, das gleiche Resultat verwenden eingestellt. Ich habe wieder versucht, mein Präfix anzupassen: var prefixes = new [] { "http://*:37777/*/token-*/", };, aber immer das gleiche Ergebnis (System.TimeoutException).

Gibt es Dokumentation, die ich bezüglich der Interaktion mit einem eingebetteten HTTP-Server lesen kann? Oder kann mir jemand in die richtige Richtung zeigen?

Danke, Loren

Antwort

1

Nachdem mit Unterstützung sprechen, scheint es TestCloud einen falschen Wert für XTC_APP_ENDPOINT herstellte.

Sie haben es angesprochen, und jetzt funktioniert mein Original-Code jetzt perfekt über Port 8081!