Unity(三十五) 更换版本localhost无法连接

从2018.1.9f2 升级保本后,使用AVPro插件运行报错

报错如下:Failed to connect to localhost

com.google.android.exoplayer2.upstream.HttpDataSource$HttpDataSourceException: Unable to connect to https://localhost:10383/AceOnline.mp4
                                                                                                        at com.google.android.exoplayer2.upstream.DefaultHttpDataSource.open(DefaultHttpDataSource.java:194)
                                                                                                        at com.google.android.exoplayer2.upstream.DefaultDataSource.open(DefaultDataSource.java:147)
                                                                                                        at com.google.android.exoplayer2.source.ExtractorMediaPeriod$ExtractingLoadable.load(ExtractorMediaPeriod.java:844)
                                                                                                        at com.google.android.exoplayer2.upstream.Loader$LoadTask.run(Loader.java:320)
                                                                                                        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
                                                                                                        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
                                                                                                        at java.lang.Thread.run(Thread.java:764)
                                                                                                    Caused by: java.net.ConnectException: Failed to connect to localhost/127.0.0.1:10383

查资料:

localhost与127.0.0.1的区别:

localhost的意思是本地服务器,127.0.0.1是本机地址,他们的关系是通过操作系统中的hosts文件,将localhost解析为127.0.0.1。

在实际工作中,localhost是不经过网卡传输的,所以,它不受网络防火墙和网卡相关的种种限制;而127.0.0.1则是要经过网卡传输数据的,是必须依赖网卡的。这一点是它的最大的区别。

一般设置程序的本地应用时,本地服务用localhost是最好的,它不会解析成IP,也不会占用网卡、网络资源。有时候用localhost可以,但用127.0.0.1却不行的情况就在于此。

原因:

Google规定android P以上 禁止App使用未加密的连接,这里出现这种异常应该是播放了http链接

从网上试了很多解决方案,并没有解决

最后按照如下修改成功解决

1把http://localhost:10383 改成http://127.0.0.1:10383

2修改AndroidManifest.xml文件

<?xml version="1.0" encoding="utf-8"?>
<manifest ...>
    <uses-permission android:name="android.permission.INTERNET" />
    <application
        ...
        android:usesCleartextTraffic="true"
        ...>
        ...
    </application>
</manifest>

猜你喜欢

转载自blog.csdn.net/LinZhonglong/article/details/128670915