zoukankan      html  css  js  c++  java
  • SuperSocket 1.4系列文档(6) 在AppSession和Commands中访问AppServer

    在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");
        }
    }
    作者:江振宇
    出处:http://jzywh.cnblogs.com
    本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接,否则保留追究法律责任的权利。
  • 相关阅读:
    java -> final与static 关键字
    软件技术人员需要对数字的敏感性
    如何对抗放假综合症
    IT传统组织结构及新型扁平化组织
    别人的工作台系列三
    别人的工作台系列二
    外包公司做遗留项目有意思么?
    一些外国网站长时间不响应,点叉才能打开的问题
    别人的工作台系列
    2014年干了什么
  • 原文地址:https://www.cnblogs.com/jzywh/p/2031108.html
Copyright © 2011-2022 走看看