04 2011 档案
摘要:Socket里面的协议解析是Socket通讯程序设计中最复杂的地方,如果你的应用层协议设计或实现不佳,Socket通讯中常见的粘包,分包就难以避免。SuperSocket内置了命令行格式的协议CommandLineProtocol,如果你的用用使用了其它格式的协议,你就必须自行实现自定义协议CustomProtocol。实现自定义协议实现自定义协议需要实现ICustomProtocol的Protocol类,和一个实现ICommandReader接口的CommandReader类。public interface ICustomProtocol<TCommandInfo> where
阅读全文
摘要:应用层协议是Socket通信的基础, 而SuperSocket直接内建了命令行协议(CommandLineProtocol)。命令行协议是一种应用非常广泛的协议,例如我们常见的Telnet, SMTP, POP3和FTP等等都是以命令行协议为基础的。如果你没有自定义协议的话,SuperSocket默认的协议就是命令行协议 ,这样就极大的简化了基于此类协议的开发。命令行协议的StringCommandInfo命令行协议的CommandInfo是StringCommandInfo这个类型:public class StringCommandInfo{ string Key { get; se...
阅读全文
摘要:在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 : St...
阅读全文
摘要:大部分的业务逻辑代码应该放在Command里面。Command会由SuperSocket引擎根据收到的CommandInfo的Key来自动的执行。例如,客户端向SuperSocket发送一个以ECHO为Key的Command时, 如"ECHO I love you\r\n",名为ECHO的Command就会被执行。Echo命令定义如下:public class ECHO : StringCommandBase<EchoSession>{ #region CommandBase<EchoSession> Members public override
阅读全文
摘要:在SocketService中运行你的AppServerSuperSocket 提供了一个名叫"SocketService"的项目,它是一个能够让AppServer运行于其中的容器。 SocketService能够使你的AppServer 以控制台或者windows服务的形式运行 (需注册)。有两种方法可以让你的AppServer运行于SocketService之中:复制你的AppServer的dll输出到SocketService的编译输出目录在你的AppServer项目中引用SocketService 项目。如果你是用这种方式,你需要新建一个名为"SuperS
阅读全文
摘要:什么是AppSession?AppSession 代表一个和客户端的逻辑连接,基于连接的操作应该定于在该类之中。你可以用该类的实例发送数据到客户端,接收客户端发送的数据或者关闭连接。什么是AppServer?AppServer 代表了监听客户端连接,承载TCP连接的服务器实例。理想情况下,我们可以通过AppServer实例获取任何你想要的客户端连接,服务器级别的操作和逻辑应该定义在此类之中。创建你的AppSession现在,我们以EchoServer为例:using System;using System.Collections.Generic;using System.Linq;using
阅读全文
摘要:配置文件示例<?xml version="1.0" encoding="utf-8" ?><configuration> <configSections> <section name="socketServer" type="SuperSocket.SocketEngine.Configuration.SocketServiceConfig, SuperSocket.SocketEngine"/> </configSections> <appSett
阅读全文
摘要:SuperSocket架构图 SuperSocket 1.4系列文档(1) 第一个例子,EchoServiceSuperSocket 1.4系列文档(2) SuperSocket的基本配置SuperSocket 1.4系列文档(3) 使用SuperSocket的第一步,实现你自己的AppServer和AppSessionSuperSocket 1.4系列文档(4) 使你的SuperSocket AppServer运行SuperSocket 1.4系列文档(5) 实现你的Socket命令SuperSocket 1.4系列文档(6) 在AppSession和Commands中访问AppServer
阅读全文