开启辅助访问
 找回密码
 注册帐号

扫一扫,访问微社区

项目源码

关注:1098

当前位置:游戏蛮牛 资源专区 项目源码

查看: 826|回复: 9

[Unity] 写了个网络游戏框架Uwork包含服务端和客户端-

[复制链接]  [移动端链接]
2初来乍到
130/150
排名
15195
昨日变化
7

1

主题

17

帖子

130

积分

Rank: 2Rank: 2

UID
8864
好友
0
蛮牛币
277
威望
0
注册时间
2013-11-25
在线时间
89 小时
最后登录
2017-3-10
发表于 2016-12-24 16:25:45 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?注册帐号

x
项目地址:http://git.oschina.net/ximu/Uwork
[C#] 纯文本查看 复制代码
Uwork是包含服务端、客户端开发的一套框架。
1)服务器基于SuperSocket(http://www.supersocket.net/)
2)通信协议基于Json,使用Newtonsoft.Json序列化
3)Unity3d实现MVC
4)无需定义通信协议
5)多平台支持

[C#] 纯文本查看 复制代码
    服务端
//继承Ucontroller启动器自动加载并实例化
    public class TestController : UController
    {
        //框架启动完成,框架事件参考UEvent定义
        [UControllerAction(UEvent.INIT_FINISH)]
        public static void Init()
        {
            Console.Title = "测试服务器";
            UServer server = new UServer(2016);
        }
        //Hello测试
        [UControllerAction("msg.test.hello")]
        public void TestHello(USession session,string data)
        {
            Console.WriteLine(data);
            session.Send("msg.test.hello.resp", "Hello Client!!!");
        }

        //排行榜测试
        [UControllerAction("msg.test.rank")]
        public void TestRank(USession session)
        {
            session.Send("msg.test.rank.resp", 10, new List<string>() { "rank1", "rank2", "rank3", "rank4" });
        }
    }

[C#] 纯文本查看 复制代码

客户端
using UnityEngine;
using System.Collections;
using UFrameWork;
using System.Collections.Generic;

public class TestView : UView 
{
    public IEnumerator Start()
    {
        WaitForAction action = Action<WaitForAction>("cmd.connect.server");
        yield return action.Wait();

        if (action.IsTimeOut)
        {
            Debug.LogError("连接失败");
            yield break;
        }

        Debug.Log("连接成功");

        StartCoroutine(Hello());
        StartCoroutine(Rank());
    }

    private IEnumerator Hello()
    {
        WaitForAction action = Action<WaitForAction>("cmd.send.hello","你好服务器!");
        yield return action.Wait();

        if (action.IsTimeOut)
        {
            Debug.LogError("获取超时");
            yield break;
        }

        Debug.Log(action.Result<string>());
    }

    private IEnumerator Rank()
    {
        WaitForAction action = Action<WaitForAction>("cmd.send.rank");
        yield return action.Wait();

        if (action.IsTimeOut)
        {
            Debug.LogError("获取超时");
            yield break;
        }

        Debug.Log("self:" + action.Result<int>());

        List<string> list = action.Result<List<string>>(2);

        foreach (string v in list)
        {
            Debug.Log("rank:"+v);
        }
    }
}






回复

使用道具 举报

7日久生情
2201/5000
排名
404
昨日变化
1

0

主题

421

帖子

2201

积分

Rank: 7Rank: 7Rank: 7Rank: 7

UID
115647
好友
0
蛮牛币
1838
威望
0
注册时间
2015-7-28
在线时间
610 小时
最后登录
2017-3-26
发表于 2016-12-26 23:11:18 | 显示全部楼层
还考虑加上对protobuf协议的支持吗?或者是可以自己方便的修改吗?对http,TCP,UDP都可以方便的使用吗??

回复 支持 反对

使用道具 举报

4四处流浪
321/500
排名
5006
昨日变化
59

0

主题

38

帖子

321

积分

Rank: 4

UID
193802
好友
0
蛮牛币
402
威望
0
注册时间
2016-12-18
在线时间
103 小时
最后登录
2017-3-26
发表于 2016-12-27 18:01:41 | 显示全部楼层
viết một khuôn khổ mạng trò chơi Uwork bao gồm dịch vụ và khách hàng
[发帖际遇]: hyhy122 乐于助人,奖励 1 蛮牛币. 幸运榜 / 衰神榜

回复 支持 反对

使用道具 举报

2初来乍到
130/150
排名
15195
昨日变化
7

1

主题

17

帖子

130

积分

Rank: 2Rank: 2

UID
8864
好友
0
蛮牛币
277
威望
0
注册时间
2013-11-25
在线时间
89 小时
最后登录
2017-3-10
 楼主| 发表于 2016-12-28 08:29:30 | 显示全部楼层
daguang 发表于 2016-12-26 23:11
还考虑加上对protobuf协议的支持吗?或者是可以自己方便的修改吗?对http,TCP,UDP都可以方便的使用吗?? ...

网络部分使用的SuperScoket,可以支持奥http,tcp,udp。

protobuf只需要替换掉序列化部分就可以了

回复 支持 反对

使用道具 举报

6蛮牛粉丝
1318/1500
排名
1110
昨日变化

8

主题

281

帖子

1318

积分

Rank: 6Rank: 6Rank: 6

UID
29156
好友
2
蛮牛币
4307
威望
0
注册时间
2014-6-11
在线时间
309 小时
最后登录
2017-3-27

蛮牛哥

发表于 2016-12-30 16:23:47 | 显示全部楼层
赞,开源分享很不错

回复 支持 反对

使用道具 举报

3偶尔光临
273/300
排名
6785
昨日变化
2

1

主题

73

帖子

273

积分

Rank: 3Rank: 3Rank: 3

UID
20927
好友
0
蛮牛币
79
威望
0
注册时间
2014-4-11
在线时间
79 小时
最后登录
2017-3-8
发表于 2017-1-4 11:07:49 | 显示全部楼层
赞,开源分享很不错

回复 支持 反对

使用道具 举报

3偶尔光临
218/300
排名
11850
昨日变化
3

2

主题

136

帖子

218

积分

Rank: 3Rank: 3Rank: 3

UID
198779
好友
0
蛮牛币
149
威望
0
注册时间
2017-1-4
在线时间
40 小时
最后登录
2017-3-15
发表于 2017-1-5 03:44:10 | 显示全部楼层
这个思路不错,顶一个

回复 支持 反对

使用道具 举报

4四处流浪
371/500
排名
6229
昨日变化
1

4

主题

100

帖子

371

积分

Rank: 4

UID
146965
好友
0
蛮牛币
301
威望
0
注册时间
2016-4-27
在线时间
130 小时
最后登录
2017-3-27
发表于 2017-1-5 13:10:59 | 显示全部楼层
mark mark mark mark mark

回复 支持 反对

使用道具 举报

5熟悉之中
714/1000
排名
2591
昨日变化
1

4

主题

132

帖子

714

积分

Rank: 5Rank: 5

UID
81888
好友
2
蛮牛币
4281
威望
0
注册时间
2015-3-19
在线时间
208 小时
最后登录
2017-3-27
发表于 2017-1-10 10:13:23 | 显示全部楼层
这个思路不错,顶一个
[发帖际遇]: a601014006 乐于助人,奖励 1 蛮牛币. 幸运榜 / 衰神榜

回复 支持 反对

使用道具 举报

5熟悉之中
935/1000
排名
7004
昨日变化
3

0

主题

670

帖子

935

积分

Rank: 5Rank: 5

UID
189581
好友
0
蛮牛币
1130
威望
0
注册时间
2016-12-5
在线时间
149 小时
最后登录
2017-3-27
发表于 2017-2-6 14:23:17 | 显示全部楼层
强大  给力啊  
[发帖际遇]: cs562981849 发帖时在路边捡到 2 蛮牛币,偷偷放进了口袋. 幸运榜 / 衰神榜

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册帐号

本版积分规则

快速回复 返回顶部 返回列表