我指的是此视频中概述的实现: 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
,但这是几年前的事了,我想知道它是否已经改变。我也尝试更改8081
为37777
. 但我仍然有同样的结果。
我注意到 XTC_APP_ENDPOINT 环境变量返回如下内容:http://devicehost7.prod:37777/wd/token-1acaf8c0-2987-4a49-aa5b-3ab795ecb910/
我将服务器调整为使用37777
,结果相同。我再次尝试调整前缀:var prefixes = new [] { "http://*:37777/*/token-*/", };
,但总是得到相同的结果(System.TimeoutException
)。
我可以阅读有关如何与嵌入式 HTTP 服务器交互的任何文档吗?或者有人可以指出我正确的方向吗?
谢谢,洛伦