Unity尝试制作王者荣耀(十三)客户端连接服务端登陆注册测试——Login场景

上一章节讲述了客户端与服务端如何进行消息的发送和接收,这篇我们通过登陆和注册来测试客户端与服务端信息的发送。

一、导入服务端与客户端定义好的协议

      要与服务器进行通信的话,就要导入服务端与客户端定义好的协议,利用这个协议向服务器发送消息。首先从网上找到服务模块儿资源https://download.csdn.net/download/qq_40229737/12037672

放在Unity项目里的新建的Plugins文件夹下

 

二、登陆注册代码编写

 

三、客户端向服务端发送消息

四、客户端处理来自服务器的消息并显示 

 4.1   LoginHandler类内容如下:

using UnityEngine;
using System.Collections;
using GameProtocol;
using UnityEngine.SceneManagement;
/// <summary>
/// 专门处理登陆模块儿的消息
/// </summary>
public class LoginHandler : MonoBehaviour,IHandler {
    /// <summary>
    /// 消息接收处理
    /// </summary>
    /// <param name="model"></param>
   public  void MessageReceive(SocketModel model)
    {
        switch(model.command){//紧接着判断三层协议,命令功能,这个定义的是int类型的
            case  LoginProtocol.LOGIN_SRES://如果是登陆请求
                Login(model.GetMessage<int>());//之所以用泛型是因为SocketModel传过来的类型不一定都是整形,在这儿我们知道它是整形,在其他地方可能就不是了
                break;
            case LoginProtocol.REG_SRES://如果是注册请求
                Reg(model.GetMessage<int>());
                break;          
        }
    }
    /// <summary>
    /// 登录返回处理
    /// </summary>
    /// <param name="value"></param>
    private void Login(int value)
    {
        switch (value)
        {
            case 0:
                Application.LoadLevel(1);
                break;
            case -1:
                WarningManager.errors.Add("账号不存在");
                break;
            case -2:
                WarningManager.errors.Add("账号在线");
                break;
            case -3:
                WarningManager.errors.Add("密码错误");
                break;
            case -4:
                WarningManager.errors.Add("输入不合法");
                break;
        }

    }
    /// <summary>
    /// 注册返回处理
    /// </summary>
    /// <param name="value"></param>
    public void Reg(int value )
    {

        switch (value)
        {
            case 0:
                WarningManager.errors.Add("注册成功");
                break;
            case 1:
                WarningManager.errors.Add("注册失败,账号重复");
                break;
        }

    }
}

 其中Ihandler是一个接口

 4.2  消息显示在UI提示面板上:

五、连接测试:

同样从网上找到服务模块儿资源https://download.csdn.net/download/qq_40229737/12037672里的服务器

启动服务

然后再启动客户端就可以进行测试了

登陆成功后会进入新的场景

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值