SuperSocket Quick Start

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

 

About SuperSocket : http://www.cnblogs.com/jzywh/archive/2010/06/09/supersocket.html

 

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

EchoSession
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

EchoServer
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


ECHO.cs

ECHO
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

        
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

SuperSocket.SocketService.exe.config
<? 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")




You can check out the QuickStart's code from the address below:
http://supersocket.codeplex.com/SourceControl/changeset/changes/53902

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值