SCUT引擎简单使用三-服务器间通信简单介绍

<pre name="code" class="plain">

今天群里有人问RPC,我也不清楚,但是大致应该就是服务器间的通信吧,下面我来整个例子,来介绍下SCUT实现的方法。用的还是上次的那个例子,因为要用到服务器间通信,那必须得有接口来接受消息吧,所以要先检查配置文件里接受消息的脚本目录对不对,</span>
 

如图:

那么就需要再工程下创建次目录和响应的脚本,如图

 

 

脚本中我们就测试一个消息接受和返回吧,具体代码

 

using System;
using ZyGames.Framework.Game.Service;
using ZyGames.Framework.RPC.IO;

namespace GameServer.Script.CsScript.Remote
{

    /// <summary>
    /// 测试
    /// </summary>
    public class Test : RemoteStruct
    {
        public Test(ActionGetter paramGetter, MessageStructure response)
            : base(paramGetter, response)
        {
        }

        protected override bool Check()
        {

            return true;
        }

        protected override void TakeRemote()
        {
            Console.WriteLine("收到消息:"+paramGetter.GetString("name"));
        }

        protected override void BuildPacket()
        {
            //返回
            response.PushIntoStack("我知道你是王胖胖");
        }
    }

}

 

 

 

 

接着创建一个新的控制台项目,把DLL放进去,Program.Cs如下:

using System;
using System.Collections.Generic;
using ZyGames.Framework.Game.Contract;
using ZyGames.Framework.RPC.IO;

namespace example
{
    class Program
    {
        private static Dictionary<string, string> cmdDictionary;
        static void Main(string[] args)
        {
            var httpRemote = RemoteService.CreateHttpProxy("proxy1", "http://127.0.0.1:92/Default.ashx");
            RequestParam rp = new RequestParam();
            rp.Add("name", "王胖胖");
            httpRemote.Call("test", rp, result =>
            {

                var reader = new MessageStructure(result.Message as byte[]);
                var msg = reader.ReadString();
                Console.WriteLine("返回:"+msg);
            });
            Console.ReadKey();
        }

    }
}

配置App.config,增加

<add key="Product.SignKey" value="XXX" />
xxx必须服务端定义的一样才可以解析
 

 


接着把服务端打开,然后把控制台也启动,如图,控制台发送了名字,服务器响应了。

 

 

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值