Category - UnityForPSVita

2024-09-24 17:04:10    46    0    0

文本探索了PSVita移植过程中,关于网络请求的问题

仅针对Unity的情况。(实测发现Unity下PSVita开发比C/C++原生PSVita开发底层提供的东西太少了)

本文用于记录我开发UNITY PSVITA跨平台联机模拟器项目,所遇到的问题,以及解决方案,
尤其是Http的坑,我提供了代码。随着我的联机项目持续开发,本文持续更新……

直接进入正题:

PSV电源模式 (模式A和模式C可以联网 仅模式B不可以)

模式有三种,Unity官方描述是
ModeA - default.
ModeB - GPU High - No WLAN or COM.
ModeC - GPU High - No Camera, OLED Low brightness.

模式A不限制,模式B关闭WLAN和COM接口,给GPU争取更多功率
那么,看样子是 是模式C限制得更狠。
实测,模式C限制摄像头和OLED之外,并没有限制WLAN;
如果项目需要联网不需要摄像头,那就选模式C吧。

*没准COM就是那个神秘接口(小声说道)

原生SOCKET(IPv4可用,IPv6不可用)

使用原生Socket,在PSVita中是直接可用的。

但PSVita不允许包含IPv6,即便是他隐式支持了。也要手动排除

不过 虽然你大概率在PSV上IPv6,但是Socket默认是要初始化IPv6的,需要手动指定一下。
使用时,要注意避免使用C#内部实现初始化了IPv6的实现。

例如
Socket 的构造函数中 SocketType和 ProtocolType两个参数的构造函数不可用。
会报协议不支持的错误:SocketException: Protocol not Supported
因为该构造函数,会自动补底层基类的类型为IPV6优先。

  1. //不要用如下方式
  2. Socket client = new Socket(SocketType.Stream, ProtocolType.Tcp);
  3. //C#内部实际基类透传 是ipv6优先 ↓↓↓
  4. public Socket(SocketType socketType, ProtocolType pro
2024-09-24 16:52:30    14    0    0

PSV ge

Unity官方可读写目录,PSV没有,返回空路径

  1. Application.persistentDataPath
  2. Windows -> C:/Users/用户/AppData/LocalLow/DefaultCompany/项目名
  3. PSVita -> 返回空

Unity缓存temporaryCachePath目录,PSV没有,返回空路径

  1. Application.temporaryCachePath
  2. Windows -> C:/Users/用户/AppData/Local/Temp/DefaultCompany/AxibugPSVAnyTest
  3. PSVita -> 返回空

StreamingAssets目录,有

  1. Application.streamingAssetsPath
  2. Windows -> 游戏安装目录/StreamingAssets
  3. PSVita -> /app0/Media/StreamingAssets