在unity使用RabbitMQ遇到的问题

问题一:

问题:重复绑定队列

一开始这样子做,但是这样子因为res需要不断刷新所以要放在Updata里面,而且会出现重复绑定队列的问题。

在这里插入图片描述
找了找在java这边果然有响应函数这种东西,不过java是重写这个函数 unity好像不能这样子重写
在这里插入图片描述

问题一:解决方法

看了一下发现C#这边不是重写的 改成委托,感觉非常合理C# RabbitMQ的使用详解,这里面写了几种类型的请求怎么写
在这里插入图片描述

问题二:

问题二:更新数据根本没触发方法

可是发现这个委托根本不会被触发很奇怪,换成全局变量也不行,后来在这里
C# 使用RabbitMQ的完整图解找了个C#的代码运行,发现可以正常运行,加上交换机和模式什么的都可以用,就接收在unity就不太行,想了想应该跟unity代码的运行顺序有关系吧?
在这里插入图片描述
unity的执行不会等待响应这种,执行完就跑了,C#那边会一直运行等待输入 这种

解决方法:

参考请求的发送 写一个等待? 把函数做成协程 可是这个东西要一直检测的啊 那让他一直循环(如果不是协程 或者协程里面没有yield return 会导致卡死)

  1. 然后这样想就想到了写成协程的循环就可以避免重复绑定的问题
    在这里插入图片描述
  2. 也可以修复委托不被触发问题,不让他结束就行了 模拟一直等待
    在这里插入图片描述
    这个还查了一下协程的用法 Unity中协程(IEnumerator)的使用方法介绍
//将协同执行直到 当输入的参数(或者委托)为true的时候....如:yield return new WaitUntil(() => frame >= 10);
yield return new WaitUntil()
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值