0

我指的是此视频中概述的实现: 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),
};

在应用程序中:

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

这在本地运行很好,但是当尝试在测试云中运行时,我System.TimeoutException在尝试连接到游戏服务器时在测试中得到了一个。

从视频中,James 明确表示您必须在 port 上收听8081,但这是几年前的事了,我想知道它是否已经改变。我也尝试更改808137777. 但我仍然有同样的结果。

我注意到 XTC_APP_ENDPOINT 环境变量返回如下内容:http://devicehost7.prod:37777/wd/token-1acaf8c0-2987-4a49-aa5b-3ab795ecb910/

我将服务器调整为使用37777,结果相同。我再次尝试调整前缀:var prefixes = new [] { "http://*:37777/*/token-*/", };,但总是得到相同的结果(System.TimeoutException)。

我可以阅读有关如何与嵌入式 HTTP 服务器交互的任何文档吗?或者有人可以指出我正确的方向吗?

谢谢,洛伦

4

1 回答 1

1

在与支持人员交谈后,TestCloud 似乎为 XTC_APP_ENDPOINT 生成了不正确的值。

他们已经解决了这个问题,现在我的原始代码现在可以在 8081 端口上完美运行!

于 2016-05-10T22:32:15.833 回答