查看: 1349|回复: 3
打印 上一主题 下一主题

求大神教一下关于u3d网络连接的问题!

[复制链接]

2508

主题

2

听众

3万

积分

资深设计师

Rank: 7Rank: 7Rank: 7

纳金币
32806
精华
12

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

跳转到指定楼层
楼主
发表于 2012-9-4 09:37:14 |只看该作者 |倒序浏览
最近在研究u3d的网络连接小弟看了几遍H2M的网络连接demo和另外的一些网络demo.但还是有很多不明白的地方,希望大神教一下

比如,这个就是创建了一个主机的意思吧,主机游戏名为JohnDoes game,游戏type名为MyUniqueGameType.

复制代码


    if(GUI.Button(new Rect(10,50,100,30),"Start Server"))
        {
            Network.useNat=userNAT;
            Network.InitializeServer(32,listenPort);
            MasterServer.RegisterHost("MyUniqueGameType","JohnDoes game", "l33t game for all");
        }






这个就是点击Refresh按钮,然后是刷新主机的吧.但是为什么检测不主机出来呢?请教大神教一下~

复制代码


    if(GUI.Button(new Rect(10,90,100,30),"Refresh"))
                {
                    MasterServer.ClearHostList();
                    MasterServer.RequestHostList("MyUniqueGameType");
                    HostData[] hostData = MasterServer.PollHostList();
                    int i = 0;
                    while (i < hostData.Length)
                    {
                        string names=hostData.gameName+" "+hostData.ip;
                        if(GUI.Button(new Rect(50,100+i*40,100,30),names))
                        {
                            Network.Connect(hostData);
                        }
                        //Debug.Log("Game name: " + hostData.gameName);
                        i++;
                    }
                }

分享到: QQ好友和群QQ好友和群 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
转播转播0 分享淘帖0 收藏收藏0 支持支持0 反对反对0
回复

使用道具 举报

955

主题

164

听众

7万

积分

版主

Rank: 7Rank: 7Rank: 7

纳金币
59338
精华
28

活跃会员 荣誉管理 突出贡献 优秀版主 论坛元老

沙发
发表于 2012-9-4 14:40:48 |只看该作者
重新检查了一遍,  HostData[] hostData = MasterServer.PollHostList();   这个好像得放在if外面才能检测到,可能是一帧的时间检测不完全

好像在一台机器上不能检测到,如果用2台机器或者和手机连接就能够正确的检测出主机来了 。



if(GUI.Button(new Rect(10,50,100,30),"Start Server"))

            {

                //创建服务器

                Network.useNat=userNAT;

                Network.InitializeServer(32,listenPort);

                MasterServer.RegisterHost(gameName,"JohnDoes game", "l33t game for all");

            }

            

            if(GUI.Button(new Rect(10,90,100,30),"Refresh"))

            {   

                MasterServer.ClearHostList();

                MasterServer.RequestHostList(gameName);

                Debug.Log("Refresh Click");

            }

            HostData[] hostData = MasterServer.PollHostList();

            int i = 0;

            while (i < hostData.Length)

            {

                string[] IPs=hostData.ip;

                foreach(string ip in IPs)

                {

                    if(GUI.Button(new Rect(250,100+i*40,200,30),ip))

                    {

                        Network.Connect(hostData);

                    }

                }

                i++;

            }

回复

使用道具 举报

2317

主题

54

听众

2万

积分

资深设计师

Rank: 7Rank: 7Rank: 7

纳金币
20645
精华
62

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

板凳
发表于 2012-12-30 04:48:30 |只看该作者
学习了,虽然还是有难度,谢谢楼主的用心
回复

使用道具 举报

2722

主题

42

听众

3万

积分

资深设计师

Rank: 7Rank: 7Rank: 7

纳金币
38268
精华
111

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

地板
发表于 2012-12-30 23:41:08 |只看该作者
谢谢楼主的帖子分享,学习了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

手机版|纳金网 ( 闽ICP备2021016425号-2/3

GMT+8, 2025-7-23 21:05 , Processed in 0.084183 second(s), 28 queries .

Powered by Discuz!-创意设计 X2.5

© 2008-2019 Narkii Inc.

回顶部