文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>SuperSocket系列文档(6) 在AppSession和Commands中访问AppServer

SuperSocket系列文档(6) 在AppSession和Commands中访问AppServer

时间:2011-04-27  来源:江大鱼

在AppSession和Commands中访问AppServer很方便,示例代码如下:

 

public class YourSession : AppSession<YourSession>
    {
        public override void StartSession()
        {
            SendResponse("Welcome to " + AppServer.Name);   
        }

        public override void HandleExceptionalError(Exception e)
        {
            
        }
    }

public class STOP : StringCommandBase<EchoSession>
    {
        #region CommandBase<EchoSession> Members

        public override void ExecuteCommand(EchoSession session, StringCommandInfo commandInfo)
        {
            session.AppServer.Stop();
        }

        #endregion
    }

虽然你可以访问AppServer的最基本接口所定义的属性和方法,但是你没有办法访问你自己实现的AppServer的方法和属性。你可以直接将AppServer转化成你自己的AppServer类型来解决这个问题,不过SuperSocket为你提供了更方便的解决方法。

你可以用new关键字来重写AppSession基类的AppServer属性,代码如下:

public class BroadcastSession : AppSession<BroadcastSession>
    {
        public string DeviceNumber { get; set; }

        public new BroadcastServer AppServer
        {
            get { return (BroadcastServer)base.AppServer; }
        }

        public override void HandleExceptionalError(Exception e)
        {
            
        }
    }

这样你就可以在AppSession或者Commands之中直接访问你自己定义的AppServer的功能了。

public class BROA : StringCommandBase<BroadcastSession>
    {
        public override void ExecuteCommand(BroadcastSession session, StringCommandInfo commandData)
        {
            string message = commandData.Data;
            session.AppServer.BroadcastMessage(session, message);
            session.SendResponse("101 message broadcasted");
        }
    }
相关阅读 更多 +
排行榜 更多 +
毒药轮盘手机版下载

毒药轮盘手机版下载

休闲益智 下载
剑侠情缘零b服手游下载

剑侠情缘零b服手游下载

角色扮演 下载
惊魂动物园游戏手机版下载

惊魂动物园游戏手机版下载

冒险解谜 下载