服务端在处理消息函数里,使用NumericComponent设置数值,一共向客户端发送了3条不同数值类型的SendToClient消息(打点看过确实是3条不同NumericType的消息)
然后客户端收到的却是3条相同NumericType的消息:
是消息被覆盖了还是什么原因呢?
因为你缓存了这个消息,应该每次都new一个新的,不然多线程网络会出错
egametang 原来这样~刚刚测试了下,好像到达消息的顺序会不一致,多线程网络是不是不能控制哪条消息先到达客户端的呢
egametang 为什么在ET6中用缓存没问题,是因为ET7网络是多线程,ET6是单线程吗
只要你逻辑中没用多线程,消息就不会不一致
在一个方法中如果多个消息要保证一致,而又无法保证在同一个线程中的话,我用的 await TimeComponent.Instance.WaitAsync(5),然后再发第二个消息。 猫大,不知道这种做法行不行?
langligelang 不对,ET是单线程的,不能在两个线程发送消息
egametang 我在一个异步的方法中,间隔发2个消息,中间用这个等待5毫秒的,可以保证这2个消息一定是分了前后的吗?
langligelang 不等5毫秒也是前后保证顺序的
egametang 3Q