用Bmob搭建简单的服务器

来源:互联网 发布:网络象棋需求分析 编辑:程序博客网 时间:2024/06/01 08:06

1、官方文档

http://docs.bmob.cn/unity/faststart/index.html?menukey=fast_start&key=start_unity

2、官方文档2

https://docs.bmob.cn/data/CSharp/a_faststart/doc/index.html

3、类库

http://docs.bmob.cn/document/unity/index.html


步骤

1、注册bmob账号www.bmob.cn

2、后台创建应用,然后点击应用创建表

   创建一张表,如表名MyTable

   然后在表里创建字段列,如:

   姓名:playername,分数:score

3、获取密钥Application ID和REST API key,下载SDK

   SDK下载:

   https://github.com/bmob/BmobSharp/releases

   Demo下载:

   https://github.com/bmob/bmob-demo-csharp/tree/master/examples/bmob-unity-demo

4、在Unity导入bmob

在你的项目Assets根目录下创建"libs"目录,将下载的BmobSDK(也就是Bmob-Unity.dll)文件放入该目录下

5、初始化BmobSDK

   选中摄像机,把BmobUnity对象拖拽到摄像机上,然后在属性窗口中设置 ApplicationId 和 RestKey 。

6、创建表的对应模型类

创建一个脚本类,让它与你在bmob后台创建的表相对应,以理解为表的一个模型,该类需要继承自BmobTable,并实现字段的读写方法。(其实就是用来操作表的)

using UnityEngine;using System.Collections;using cn.bmob.io;public class MyGameTable : BmobTable{    //以下对应云端表的字段名称    public BmobInt score { get; set; }    public string playername { get; set; }    //读字段信息    public override void readFields(BmobInput input)    {        base.readFields(input);        this.score = input.getInt("score");        this.playername = input.getString("playername");    }    //写字段信息    public override void write(BmobOutput output, bool all)    {        base.write(output, all);        output.Put("score", this.score);        output.Put("playername", this.playername);    }}

7、操作数据

这里只列举了插入数据,查询数据,更改数据的方法,其它方法参照官方文档

using System.Collections;using System.Collections.Generic;using UnityEngine;using cn.bmob.api;using cn.bmob.io;using cn.bmob.tools;using System.Net;using cn.bmob.json;using cn.bmob.response;using cn.bmob.Extensions;public class HelloBomb : MonoBehaviour {    private BmobUnity bmob;void Start () {        //注册调试打印对象,这样才能用print方法        BmobDebug.Register(print);        //下面这句不知道什么意思,没有也可以        BmobDebug.level = BmobDebug.Level.TRACE;        //获取到组件        bmob = GetComponent<BmobUnity>();    }void Update () {        if (Input.GetKeyDown(KeyCode.C))        {            Create();        }        if (Input.GetKeyDown(KeyCode.G))        {            Get();        }}    //云端表的名字    string tableName = "MyGameTable";    //添加数据    void Create()    {        //创建数据对象        MyGameTable data = new MyGameTable();        //设置值            data.score = Random.Range(0, 100);        data.playername = "zhangsan";        //往表“MyGameTable”里添加一行数据data,        bmob.Create(tableName, data, (resp, exception) =>        {            if (exception != null)            {                //如果添加失败,输出错误原因                print("保存失败, 失败原因为: " + exception.Message);                return;            }            else            {                //如果添加成功,输出创建的是时间                print("保存成功, @" + resp.createdAt);            }        });    }    //获取数据    void Get()    {        bmob.Get<MyGameTable>(tableName, "6312fd1463", (resp, exception) =>        {            if (exception != null)            {                print("查询失败, 失败原因为: " + exception.Message);                return;            }            MyGameTable game = resp;            print("获取的对象为: " + game.ToString());            print(game.playername);        });    }    //更改数据    void ChangeTable()    {        MyGameTable game = new MyGameTable();        game.playername = "pn_123";        bmob.Update(tableName, "6312fd1463", game, (resp, exception) =>        {            if (exception != null)            {                print("保存失败, 失败原因为: " + exception.Message);                return;            }            print("保存成功, @" + resp.updatedAt);        });    }}

备注:其它一些搭建服务器手段

1、大型服务器:用node.js+MySql搭建

2、轻量级服务器wamp,可以把自己电脑用作服务器,集成了各种服务器需要的环境,安装完成就可以使用,但是如果需要外网(不是局域网)访问,就需要用其它软件提供域名映射

3、如果是做Unity局域网对战用Unet,如果是做网络对战用Photon实时服务器

4、用作临时处理HTTP协议的简单数据处理,HttpListener

5、简单存储数据:redis和mongodb

6、简单的让外网访问自己的html,用iis或者tomcat搭建站点

7、Tomcat另外一种轻量级服务器

总之,Bmob可以说是一种非常简单服务器,基本上可以满足个人调试开发。也可以在网络搜索其它Baas服务产品。


原创粉丝点击