zoukankan      html  css  js  c++  java
  • SuperSocket 1.4系列文档(1) 第一个例子, EchoService

    First example, EchoService

    1. 新建一个名叫 “EchoService” 的空白项目
    2. 添加SuperSocket的Common和SocketBase这两个dll或者项目引用到EchoService项目

    3. 新增名为EchoServer和EchoSession的类,如下图

    EchoSession.cs

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using SuperSocket.SocketBase;
     
    namespace SuperSocket.QuickStart.EchoService
    {
        public class EchoSession : AppSession<EchoSession>
        {
            public override void StartSession()
            {
                SendResponse("Welcome to EchoServer!");
            }
     
            public override void HandleExceptionalError(Exception e)
            {
                SendResponse("Server side error occurred!");
            }
        }
    }


    EchoServer.cs

     

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using SuperSocket.SocketBase;
     
    namespace SuperSocket.QuickStart.EchoService
    {
        public class EchoServer : AppServer<EchoSession>
        {
     
        }
    }



    4. 添加命令类


    ECHO.cs

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using SuperSocket.SocketBase.Command;
     
    namespace SuperSocket.QuickStart.EchoService.Command
    {
        public class ECHO : StringCommandBase<EchoSession>
        {
            #region CommandBase<EchoSession> Members
     
            public override void ExecuteCommand(EchoSession session, StringCommandInfo commandInfo)
            {
                session.SendResponse(commandInfo.Data);
            }
     
            #endregion
        }
    }

    注意: 命令类必须为public.


    5. 编译项目 “EchoService” 然后拷贝项目输出到"SocketService"这个项目的输出目录 (请先提前编译SocketService项目)

    6. 更新SocketService的配置文件app.config 来启用“EchoService”

    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
        <configSections>
            <section name="socketServer" type="SuperSocket.SocketEngine.Configuration.SocketServiceConfig, SuperSocket.SocketEngine"/>
        </configSections>
        <appSettings>
            <add key="ServiceName" value="EchoService"/>
        </appSettings>
        <socketServer loggingMode="IndependantFile">
            <servers>
                <server name="EchoServer"
                     serviceName="EchoService" ip="Any" port="911" mode="Async">
                </server>
            </servers>
            <services>
                <service name="EchoService"
                         type="SuperSocket.QuickStart.EchoService.EchoServer, SuperSocket.QuickStart.EchoService" />
            </services>
        </socketServer>
        <startup>
            <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0" />
        </startup>
    </configuration>

    请注意配置文件中的 "socketServer" 节点.

    7. 运行“RunServer.bat” 然后输入任意键启动SuperSocket, 然后你就可以通过telnet client来测试你的EchoService了 (你也可以运行"InstallService.bat"来将SuperSocket安装成服务,  服务的名称是在app.config的appSetting以"ServiceName"为key的值,你可以按照项目需要修改它),测试方式如下,输入“ECHO Any message”:

    本文源代码在SuperSocket的源代码中QuickStart目录中已包含:

    http://supersocket.codeplex.com/releases/

  • 相关阅读:
    扩展Dijkstra
    CodeForces 1396E. Distance Matching
    大联盟2
    整式乘除法
    美国数学会众多教授推荐的本科&研究生代数几何经典书籍教材清单
    算法题——立方体的体对角线穿过多少个正方体?
    导数练习题
    导数压轴题
    集合
    著名数学家Ky Fan的故事
  • 原文地址:https://www.cnblogs.com/jzywh/p/supersocketquickstart.html
Copyright © 2011-2022 走看看