我指的是此视频中概述的实施方案: https://www.youtube.com/watch?v=mnAenNaEpJk
通过任何端口使用我的设备的IP地址在本地运行良好(只要客户端和服务器使用相同的端口)。
测试客户:
var url = isTestCloud ? Environment.GetEnvironmentVariable("XTC_APP_ENDPOINT") : "http://" + deviceIp + ":8081";
HttpClient client = new HttpClient {
BaseAddress = new Uri(url),
};
在App中:
HttpListener _listener = new HttpListener();
var prefixes = new [] {
"http://*:8081/",
};
foreach (string s in prefixes)
_listener.Prefixes.Add (s);
_listener.Start ();
这在本地运行很好,但是当尝试在Test Cloud中运行时,我在测试中获得了System.TimeoutException
,同时尝试连接到游戏服务器。
从视频中,詹姆斯明确表示你必须在端口8081
上听,但这是几年前的事情,我想知道它是否已经改变。我也尝试将8081
更改为37777
。但我仍然有同样的结果。
我注意到XTC_APP_ENDPOINT env变量返回的内容如下:http://devicehost7.prod:37777/wd/token-1acaf8c0-2987-4a49-aa5b-3ab795ecb910/
我调整了服务器以使用37777
,结果相同。
我再次尝试调整我的前缀:var prefixes = new [] { "http://*:37777/*/token-*/", };
,但总是得到相同的结果(System.TimeoutException
)。
我是否可以阅读有关如何与嵌入式HTTP服务器交互的文档?或者有人能指出我正确的方向吗?
谢谢, 洛伦
答案 0 :(得分:1)
在支持说话后,似乎TestCloud为XTC_APP_ENDPOINT生成了错误的值。
他们已经解决了这个问题,现在我的原始代码现在可以在端口8081上完美运行了!