Unity使用NetworkView无法连接的一种解决方法
来源:互联网 发布:制作生日快乐贺卡软件 编辑:程序博客网 时间:2024/06/05 15:18
void OnGUI(){switch (Network.peerType) {case NetworkPeerType.Disconnected:if (Condiction) {//such as a==bStartServer();}else{StartConnect(Ip,Port);}break;case NetworkPeerType.Server:OnServer();break;case NetworkPeerType.Client:OnClient();break;case NetworkPeerType.Connecting:Debug.Log("Connecting to room...");break;}}这是一种常见的错误写法
debug提示“无法连接服务器端,可能是太快调用了Network.Disconnect(0)”
原因是OnGUI()每帧都会调用,在60FPS的情况里,一秒内就会被调用60次,也就是第一次与第二次的间隔16ms
这个间隔通常不足以让RPC完成连接的工作,造成第一次Connect还没返回成功的情况下(成功后才会修改NetworkPeerType),第二次请求就发出去了
如此就无法完成连接
解决的方法:
不要将StartConnect放在else中,可以使用if(GUI.Button)来触发,避免每次都触发
或者将这部分代码转译到Awake()或Start()中以使其仅触发一次
- Unity使用NetworkView无法连接的一种解决方法
- Unity网络编程NetworkView组件使用
- html5 websocket 无法建立到服务器的连接 一种解决方法
- adb端口被占用/adb无法使用的一种解决方法
- Administrator无法本地登录的一种解决方法
- Win7 无法上网的一种解决方法
- SqlServer 2008数据库无法使用远程连接的解决方法整理
- Win7系统使用--Win7无法连接wifi问题的解决方法
- 使用navicat工具无法连接MySQL数据库的解决方法
- repo 无法连接的解决方法
- Unity中无法导入包的解决方法
- Ubuntu无法进入unity图形界面的解决方法
- unity animator的一种使用方式
- 使用远程桌面连接无法显示本地硬盘解决方法
- 使用Hibernate连接MySQL数据库发生closed.Connection问题的一种解决方法
- Unity中使用UGUI制作Prefab后,调用Instantiate动态生成Button无法点击的解决方法
- IE7下flash无法播放的一种解决方法
- 无法生成临时类(result=1),的一种解决方法
- SGU 363 Baggage room 模拟排队
- 【GIT】Git基础命令
- <3>c语言实现ATM存取款系统(数组实现)
- Mysql工具集——性能测试工具-MysqlBench
- lightroom使用小结八 调整作品 笔刷滤镜局部调整
- Unity使用NetworkView无法连接的一种解决方法
- lightroom使用小结九 调整作品 锐化和导出作品
- <4>c语言实现ATM存取款系统(链表)
- 2011年北京区域赛I-Activation
- 热门的网站测试工具
- 基于v4l2 ffmpeg x264的视频远程监控
- hdu 1242 &&zoj 1649 Rescue
- poj 3678 Katu Puzzle(2-sat应用)
- fatal:no bootable medium found!system halted