如何确保在Photon Unity中成功发送RPC?

时间:2016-02-01 10:44:08

标签: unity3d multiplayer photon

我正在使用Photon和Unity3D引擎构建多人游戏。 我正在使用photonView.RPC在客户端之间发送数据和值。但有时由于网络问题,发送的RPC无法在客户端中执行。

有没有办法可以从客户端(谁发送RPC)检查RPC是否已成功发送,如果没有,则再次发送RPC?

1 个答案:

答案 0 :(得分:2)

从概念上讲,你能做到的唯一方法就是,

  

A发送带有身份代码的消息(例如," 321321777")

     

A等待确认......

     

B收到消息

     

B发送消息"我收到321321777"

这真的是你所能做的一切。请注意,这引入了超时的概念。以上实际上更像是这样......

  

A发送带有身份代码的消息(例如," 321321777")

     

A等待确认......

     

如果在(比方说)0.5秒后没有确认,请再次发送。 继续这样做。

     

B收到了消息。标签是321321777

     

B发送消息"我收到321321777"

     

" 321321777"的更多副本收到B, B忽略它。但是:如果多个" 321321777"由B收到,B再次发送越来越多的确认消息" 321321777"

值得注意的是,作为一般规则,"视频游戏不会像这样工作。"通常情况下,你只需要发送数以万计的职位(或者其他什么),如果错过了一些职位,那就无所谓了。

不要忘记Unity网络是否可靠发送"无论如何对你来说 - 并且在" PUN"中可能有这样一个概念。