0
点赞
收藏
分享

微信扫一扫

Supersocket 如何使用 教程1


This guide will introduce how to create a simple command line socket application using SupperSocket application framework.


 

1. Create a new project named “EchoService” in a new empty solution


2. Add the project “SocketServiceCore”(which is belong to SuperSocket) into the solution, and then let the project “EchoService” reference it


3. Add session class and server class



EchoSession.cs





<

Code highlighting produced by Actipro CodeHighlighter (freeware)
​​​http://www.CodeHighlighter.com/ ​​​
> using  System;
using  System.Collections.Generic;
using  System.Linq;
using  System.Text;
using  SuperSocket.SocketServiceCore;

namespace  EchoService
{
     public   class  EchoSession : AppSession < EchoSession >
    {
         private  SocketContext m_Context;

         protected   override   void  OnClosed()
        {
            
        }

         protected   override   void  OnInit()
        {
            m_Context  =   new  SocketContext();
        }

         public   override   void  SayWelcome()
        {
            SendResponse( " Welcome to EchoServer! " );
        }

         public   override   void  HandleExceptionalError(Exception e)
        {
            SendResponse( " Server side error occurred! " );
        }

         public   override  SocketContext Context
        {
             get  {  return  m_Context; }
        }
    }
}





EchoServer.cs


<

Code highlighting produced by Actipro CodeHighlighter (freeware)
​​​http://www.CodeHighlighter.com/ ​​​
> using  System;
using  System.Collections.Generic;
using  System.Linq;
using  System.Text;
using  SuperSocket.SocketServiceCore;

namespace  EchoService
{
     public   class  EchoServer : AppServer < EchoSession >
    {
         public   override   bool  IsReady
        {
             get  {  return   true ; }
        }
    }
}



 



4. Add command class


Supersocket 如何使用 教程1_Linq_03




ECHO.cs


<

Code highlighting produced by Actipro CodeHighlighter (freeware)
​​​http://www.CodeHighlighter.com/ ​​​
> using  System;
using  System.Collections.Generic;
using  System.Linq;
using  System.Text;
using  SuperSocket.SocketServiceCore.Command;

namespace  EchoService.Command
{
     public   class  ECHO : ICommand < EchoSession >
    {
         #region  ICommand<echosession> Members</echosession>

         public   void  Execute(EchoSession session, CommandInfo commandData)
        {
            session.SendResponse(commandData.Param);
        }

         #endregion
    }
}






5. Build the project “EchoService” and then copy outputted assemblies to the output dir of the project “SocketService” (provided by SupperSocket, build it in advance please)



6. Update app.config of SocketService to use EchoService


<

Code highlighting produced by Actipro CodeHighlighter (freeware)
​​​http://www.CodeHighlighter.com/ ​​​
> xml version = " 1.0 "  encoding = " utf-8 "   ?>
< configuration >
     < configSections >
         < section name = " loggingConfiguration "
type = " Microsoft.Practices.EnterpriseLibrary.Logging.Configuration.LoggingSettings, Microsoft.Practices.EnterpriseLibrary.Logging "   />
         < section name = " socketServer "
type = " SuperSocket.SocketServiceCore.Configuration.SocketServiceConfig, SuperSocket.SocketServiceCore " />
     > configSections >
     < appSettings >
     < add key = " ServiceName "  value = " EchoService " />
   > appSettings >
     < socketServer >
         < servers >
           < add name = " Default Echo Server "  serviceName = " EchoService "  ip = " Any "  port = " 911 "  mode = " Async "   />
         > servers >
         < services >
           < add serviceName = " EchoService "  baseAssembly = " EchoService.EchoServer, EchoService "   />
         > services >
     > socketServer >     
     < loggingConfiguration name = " Logging Application Block "  tracingEnabled = " true "
       defaultCategory = ""  logWarningsWhenNoCategoriesMatch = " true " >
         // Log configuration
     > loggingConfiguration >
> configuration >



Please note the "socketServer" node in above code.



7. Click “RunServer.bat” and then enter “start” to start the server, then you can test the echo server by telnet (you also can click "InstallService.bat" to intsall the server application as windows service, the service name is defined in appSetting of app.config with the key "ServiceName")


Supersocket 如何使用 教程1_Linq_04






举报

相关推荐

0 条评论