photonserver队列和链接初始化发送消息

使用photonserver到现在 已经快有2年多了,现在把一些遇到的问题与解决办法来和大家分享一些
一 队列的使用
定义一个队列

private readonly IFiber SendList;

实例化一个队列并开始队列

 SendList = new PoolFiber();
 SendList.Start();

把发送任务 加到队列中

Dictionary<byte, object> data = new Dictionary<byte, object>();
                data.Add(1, p.Index);
                data.Add(2, p.GetPacketBytes());

OperationResponse operation = new OperationResponse();
operation.SetParameters(data);           
SendList.Enqueue(()=>SendOperationResponse(operation,new SendParameters()));

队列用起来还是比较方便的但是关于代码具体还有一些东西比较好,比如序列化和反序列化都有自动处理的一些功能。
二关于PHOTONSERVER的链接之前的数据包发送
一开始我像做一个客户端链接PHONTONSERVER的时候就发送一个服务器基本数据给客户端,一开始我放到构造函数里面,结果一直在报错。始终没好得解决方案,后来研究了文档 发现不能直接利用发送函数去解决 我把解决方法贴出来。

   OperationResponse operation = new OperationResponse();
                operation.SetParameters(data);
                myClient.RequestFiber.Enqueue(() => myClient.SendOperationResponse(operation, new SendParameters()));
                return myClient;

实际就是通过 myClient.RequestFiber.Enqueue 这个系统默认得一个队列来发送数据,但是这个队列还有什么其他得用法 还需要深入研究。
我这边主要还是拿这个当网关来处理,主要就是转发数据。游戏服务器的主逻辑反而没有去研究。
今天就写这么多

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值