问题:用Unity编辑器Build的游戏(MyGame.exe)无法下载服务器上资源文件:
starting www download: http://10.123.102.142/resources/Client/StreamingAssets/20170427021756/AssetBundles/GameInfo/global.unity3d LoadCombinePackageAsync Download Error = couldn't connect to host, InPackage = http://10.123.102.142/resources/Client/StreamingAssets/20170427021756/AssetBundles/GameInfo/global.unity3d, DoDownLoadTryAgain = 2
然而文件global.unity3d可以被Chrome浏览器、curl等第三工具成功下载。
-------------------------------------------------
首先怀疑,MyGame.exe被windows防火墙阻挡了,关闭防火墙,无果。。。
再检查C:WindowsSystem32driversetchosts文件,并将其中所有内容注释,无果。。。
于是用SysinternalsSuite工具套件中的Procmon.exe来捕捉MyGame.exe的网络行为,得到如下日志:
"TCP Reconnect","chen-PC0.tencent.com:49887 -> chen-PC0.tencent.com:8888"
发现连接并没有指向10.123.102.142机器,而是指向了本机的8888端口。意识到可能是某个软件hanker了网络连接(如:Fiddler、Proxifier、shadowsocks等)
检查本机的Finder的Options,发现里面有个8888的端口设置,怀疑与这个有关
去掉红框里面的两个勾选,保存并退出Finder;再启动游戏,问题解决!
再次用SysinternalsSuite工具套件中的Procmon.exe来捕捉MyGame.exe的网络行为,得到如下日志:
"TCP Connect","chen-PC0.tencent.com:39351 -> 10.123.102.142:http"