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

扫一扫,访问微社区

项目源码

关注:1175

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

查看: 1115|回复: 17

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

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

1

主题

17

帖子

133

积分

Rank: 2Rank: 2

UID
8864
好友
0
蛮牛币
287
威望
0
注册时间
2013-11-25
在线时间
91 小时
最后登录
2017-7-12
发表于 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日久生情
2678/5000
排名
299
昨日变化
2

0

主题

568

帖子

2678

积分

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

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

回复 支持 反对

使用道具 举报

5熟悉之中
603/1000
排名
3152
昨日变化

0

主题

41

帖子

603

积分

Rank: 5Rank: 5

UID
193802
好友
0
蛮牛币
637
威望
0
注册时间
2016-12-18
在线时间
224 小时
最后登录
2017-7-20
发表于 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初来乍到
133/150
排名
16280
昨日变化
7

1

主题

17

帖子

133

积分

Rank: 2Rank: 2

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

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

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

回复 支持 反对

使用道具 举报

6蛮牛粉丝
1468/1500
排名
1040
昨日变化
5

8

主题

299

帖子

1468

积分

Rank: 6Rank: 6Rank: 6

UID
29156
好友
2
蛮牛币
4434
威望
0
注册时间
2014-6-11
在线时间
347 小时
最后登录
2017-7-23

蛮牛哥

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

回复 支持 反对

使用道具 举报

3偶尔光临
299/300
排名
6986
昨日变化
2

2

主题

77

帖子

299

积分

Rank: 3Rank: 3Rank: 3

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

回复 支持 反对

使用道具 举报

3偶尔光临
236/300
排名
12447
昨日变化
8

2

主题

148

帖子

236

积分

Rank: 3Rank: 3Rank: 3

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

回复 支持 反对

使用道具 举报

4四处流浪
417/500
排名
5978
昨日变化
3

4

主题

107

帖子

417

积分

Rank: 4

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

回复 支持 反对

使用道具 举报

5熟悉之中
961/1000
排名
1989
昨日变化
3

4

主题

163

帖子

961

积分

Rank: 5Rank: 5

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

回复 支持 反对

使用道具 举报

6蛮牛粉丝
1248/1500
排名
4715
昨日变化
3

0

主题

827

帖子

1248

积分

Rank: 6Rank: 6Rank: 6

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

回复 支持 反对

使用道具 举报

7日久生情
1579/5000
排名
16280
昨日变化
7

2

主题

1340

帖子

1579

积分

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

UID
185807
好友
0
蛮牛币
1978
威望
0
注册时间
2016-11-22
在线时间
213 小时
最后登录
2017-7-23
发表于 2017-3-29 10:33:41 | 显示全部楼层
赞,谢谢分享,学习一下

回复 支持 反对

使用道具 举报

2初来乍到
118/150
排名
29998
昨日变化
13

0

主题

52

帖子

118

积分

Rank: 2Rank: 2

UID
199512
好友
4
蛮牛币
76
威望
0
注册时间
2017-1-6
在线时间
61 小时
最后登录
2017-7-8
发表于 2017-4-22 22:12:48 | 显示全部楼层
谢谢大神给出框架学习

回复 支持 反对

使用道具 举报

5熟悉之中
732/1000
排名
4334
昨日变化
26

0

主题

376

帖子

732

积分

Rank: 5Rank: 5

UID
188049
好友
1
蛮牛币
406
威望
0
注册时间
2016-11-29
在线时间
114 小时
最后登录
2017-7-23
发表于 2017-5-15 13:57:19 | 显示全部楼层
5646511321321321321

回复 支持 反对

使用道具 举报

5熟悉之中
732/1000
排名
4334
昨日变化
26

0

主题

376

帖子

732

积分

Rank: 5Rank: 5

UID
188049
好友
1
蛮牛币
406
威望
0
注册时间
2016-11-29
在线时间
114 小时
最后登录
2017-7-23
发表于 2017-5-17 08:59:42 | 显示全部楼层
4444444444444444444444444

回复 支持 反对

使用道具 举报

5熟悉之中
732/1000
排名
4334
昨日变化
26

0

主题

376

帖子

732

积分

Rank: 5Rank: 5

UID
188049
好友
1
蛮牛币
406
威望
0
注册时间
2016-11-29
在线时间
114 小时
最后登录
2017-7-23
发表于 2017-5-18 09:01:33 | 显示全部楼层
66666666666666666666666

回复 支持 反对

使用道具 举报

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

本版积分规则

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