随笔分类 - SuperSocket

About SuperSocket
摘要: 在历时一年开发,发布了5个测试版,经过多次跳票之后,SuperSocket 1.5 stable终于在2013年的第一个星期一发布了。较于上一个版本1.4,SuperSocket 1.5拥有更加友好的应用程序接口,而且还增加了不少实用的功能,同时还修复了众多小缺陷。这些改进把SuperSocket的产品质量带上了一个新的台阶。我们没有理由不相信,在2013年里,SuperSocket将会有很好的发展。此版本包含如下激动人心的功能:动态语言的支持。你可以使用Python(IronPython)或者其它DLR 语言来编写你的复杂多变的业务逻辑,数据通信仍旧是基于可靠的SuperSocket之上。多阅读全文
posted @ 2013-01-07 10:52 江大渔 阅读(6903) | 评论 (53) 编辑
摘要: A Telnet ExampleImplement your AppServer and AppSessionStart SuperSocket by ConfigurationSuperSocket Basic ConfigurationBuilt-in command line protocol...阅读全文
posted @ 2012-07-30 11:39 江大渔 阅读(5012) | 评论 (41) 编辑
摘要: SuperSocket 1.4 SP2终于在2012年来临之前发布了,他是一个非常重要的版本。很有可能它将是SuperSocket 1.4的最后一个release. 在明年,我将专注于SuperSocket 1.5的开发,1.5会新增几个十分重要的功能,比如动态语言的支持,客户端管理工具等等。这些新的功能将在未来的一年里通过beta发布的方式陆续和大家见面。在SuperSocket 1.4 SP2这个版本里,包含了如下更新:改进了ArraySegmentList和BinaryUtil的性能 改进了命令行协议实现的性能 新增了子配置节点的自定义功能 异步的TLS/SSL支持(通过SslStrea阅读全文
posted @ 2011-12-28 10:16 江大渔 阅读(1630) | 评论 (8) 编辑
摘要: SuperSocket 1.4 SP1修复了几个在1.4的第一个稳定版本中存在的几个bug,还增加了几个实用的小功能:修复了发送大数据量数据到客户端无法完整发送的缺陷修复了策略服务器中获取策略文件路径在某些情况下不正确的缺陷给类ArraySegementList增加了方法TrimEnd(int trimSize)给Socket会话增加了新方法SendResponse(byte[] data, int offset, int length);改进UDP 服务器实现,使其支持从应用层获取SessionKey新增禁用会话快照的支持SuperSocket 1.4 SP1 下载地址:http://sup阅读全文
posted @ 2011-09-20 22:31 江大渔 阅读(1381) | 评论 (17) 编辑
摘要: SuperSocket 1.4 stable已于今日正式发布了!下载地址为: http://supersocket.codeplex.com/releases/view/69473什么是SuperSocket?SuperSocket 是一个轻量级的,可扩展的,跨平台的.NET Socket 服务器开发框架,可用来构建一个基于命令的服务器端Socket 程序,而无需了解如何使用Socket,如何维护Socket连接,亦无需了解Socket是如何工作的。该项目使用纯 C# 开发,易于扩展和集成到已有的项目。只要你的已有系统(forum/CRM/MIS/HRM/ERP)是使用.NET开发的,你都能够阅读全文
posted @ 2011-07-06 12:56 江大渔 阅读(4064) | 评论 (32) 编辑
摘要: SuperSocket内置了日志功能,你只需通过下面两个步骤来启用它:1) 包含SuperSocket提供的配置文件log4net.config到你的启动程序的/Config目录2) 如果你用自定义容器运行SuperSocket,请确认您添加了LogUtil.Setup(); 这段代码到程序入口位置,用于启用SuperSocket日志功能SuperSocket的AppServer和AppSession都有Logger属性,你可以直接使用他们来记录日志。SuperSocket的日志是以文件的形式存放在运行目录的Logs子目录里面,Log相关的配置请参考文档http://www.cnblogs.c阅读全文
posted @ 2011-05-03 23:10 江大渔 阅读(2661) | 评论 (0) 编辑
摘要: AppServer内置了一个高效Session容器,允许你通过多种方式来获取你想要的Session并进行通信。获取指定SessionKey的Sessionvar session = appServer.GetAppSessionByIndentityKey(sessionKey);if(session != null) session.SendResponse("Hello world!");实时的从Session容器中获取。获取所有连接上的Sessionvar sessions = appServer.GetAllSessions();foreach(var s in s阅读全文
posted @ 2011-05-03 22:38 江大渔 阅读(3878) | 评论 (9) 编辑
摘要: Socket里面的协议解析是Socket通讯程序设计中最复杂的地方,如果你的应用层协议设计或实现不佳,Socket通讯中常见的粘包,分包就难以避免。SuperSocket内置了命令行格式的协议CommandLineProtocol,如果你的用用使用了其它格式的协议,你就必须自行实现自定义协议CustomProtocol。实现自定义协议实现自定义协议需要实现ICustomProtocol的Protocol类,和一个实现ICommandReader接口的CommandReader类。public interface ICustomProtocol<TCommandInfo> where阅读全文
posted @ 2011-04-28 21:50 江大渔 阅读(5349) | 评论 (6) 编辑
摘要: 应用层协议是Socket通信的基础, 而SuperSocket直接内建了命令行协议(CommandLineProtocol)。命令行协议是一种应用非常广泛的协议,例如我们常见的Telnet, SMTP, POP3和FTP等等都是以命令行协议为基础的。如果你没有自定义协议的话,SuperSocket默认的协议就是命令行协议 ,这样就极大的简化了基于此类协议的开发。命令行协议的StringCommandInfo命令行协议的CommandInfo是StringCommandInfo这个类型:public class StringCommandInfo{ string Key { get; se...阅读全文
posted @ 2011-04-28 20:59 江大渔 阅读(3262) | 评论 (7) 编辑
摘要: 大部分的业务逻辑代码应该放在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 阅读全文
posted @ 2011-04-27 21:02 江大渔 阅读(4464) | 评论 (0) 编辑
摘要: 在SocketService中运行你的AppServerSuperSocket 提供了一个名叫"SocketService"的项目,它是一个能够让AppServer运行于其中的容器。 SocketService能够使你的AppServer 以控制台或者windows服务的形式运行 (需注册)。有两种方法可以让你的AppServer运行于SocketService之中:复制你的AppServer的dll输出到SocketService的编译输出目录在你的AppServer项目中引用SocketService 项目。如果你是用这种方式,你需要新建一个名为"SuperS阅读全文
posted @ 2011-04-25 21:32 江大渔 阅读(4233) | 评论 (2) 编辑
摘要: 什么是AppSession?AppSession 代表一个和客户端的逻辑连接,基于连接的操作应该定于在该类之中。你可以用该类的实例发送数据到客户端,接收客户端发送的数据或者关闭连接。什么是AppServer?AppServer 代表了监听客户端连接,承载TCP连接的服务器实例。理想情况下,我们可以通过AppServer实例获取任何你想要的客户端连接,服务器级别的操作和逻辑应该定义在此类之中。创建你的AppSession现在,我们以EchoServer为例:using System;using System.Collections.Generic;using System.Linq;using 阅读全文
posted @ 2011-04-21 22:11 江大渔 阅读(5953) | 评论 (4) 编辑
摘要: 配置文件示例<?xml version="1.0" encoding="utf-8" ?><configuration> <configSections> <section name="socketServer" type="SuperSocket.SocketEngine.Configuration.SocketServiceConfig, SuperSocket.SocketEngine"/> </configSections> <appSett阅读全文
posted @ 2011-04-20 21:53 江大渔 阅读(11627) | 评论 (8) 编辑
摘要: 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阅读全文
posted @ 2011-04-19 12:36 江大渔 阅读(17390) | 评论 (72) 编辑
摘要: 发布地址:http://miasocks.codeplex.com/releases/view/62174It is a .NET SOCKS Server Implementation base onSuperSocket.Support Socks4 nowSupport cascade proxyInclude a Socks4 clientIn the future:It will support Socks4a and Socks5阅读全文
posted @ 2011-03-08 10:26 江大渔 阅读(840) | 评论 (9) 编辑
摘要: SuperSocket 1.3 stable 近期正式发布了!http://supersocket.codeplex.com/releases/view/59310Bug修复:修复了一个潜在的在停止server之后没有没有更新server的running state的bug修复了在清除超时session时同步的bug修复了ArraySegmentList的一个bug修复了一个获取配置参数的bug修复了一个QuickStart示例项目中的bug修复了一个在同步模式下课护短关闭连接会导致服务器CPU占用率过高的bug修复了一个用LINQ语句复制缓冲区readBuffer.Skip(x).Take(阅读全文
posted @ 2011-01-17 12:26 江大渔 阅读(757) | 评论 (8) 编辑
摘要: 为便于管理,SuperSocket的测试版发布将不再单独发博文,而是直接以最新在前的顺序汇总在此博文之中。阅读全文
posted @ 2010-12-23 12:23 江大渔 阅读(6848) | 评论 (32) 编辑
摘要: SuperSocket今天发布了1.3的第一个测试版,1.3版本会在发布2-3个测试版之后正式release. 此版本包含更新如下: 新功能: * 新增UDP socket的支持 * 新增自定义协议支持(二进制协议和其它更复杂的协议) * 在同步模式下支持SSL/TLS加密传输 Bug修复: * 修复了一个潜在的在停止server之后没有没有更新server的running state的bug * 修复了在清除超时session时同步的bug * 修复了ArraySegmentList的一个bug * 修复了一个获取配置参数的bug 第三方类库升级: * upgraded SuperSocket to .NET 4.0 * upgraded EntLib 4.1 to 5.0阅读全文
posted @ 2010-12-13 13:07 江大渔 阅读(478) | 评论 (0) 编辑
摘要: SuperSocket 1.0今天发布了SP1版本,用来修复1.0 stable发布之后所发现的bug. 该版本所修复的bug如下: 修复了一个潜在的在停止server之后没有没有更新server的running state的bug 修复了在清除超时session时同步的bug 修复了ArraySegmentList的一个bug 修复了一个获取配置参数的bug阅读全文
posted @ 2010-12-08 14:39 江大渔 阅读(501) | 评论 (3) 编辑
摘要: 今天,SuperWebSocket发布了第一个测试版。 该版本下载地址: http://superwebsocket.codeplex.com/releases/view/56547 SuperWebSocket项目主页: http://superwebsocket.codeplex.com/ SuperWebSocket是WebSocket协议服务器端的.NET实现. 作为HTML5的一个重要新特性,WebSocket 规范的目标是在浏览器中实现和服务器端双向通信.双向通信可以拓展浏览器上的应用类型,例如实时的数据推送(股票行情),游戏,聊天/im 等. SuperWebSocket是基于.NET开源Socket框架SuperSocket开发的, SuperSocket所支持的大部分功能在SuperWebSocket中得到了继承。用户可通过SuperWebSocket来快速的构建可靠的,高性能的websocket服务器端应用程序。 和SuperSocket一样,SuperWebSocket可以控制台和windows服务的形式运行,同时它还支持直接运行在Webs阅读全文
posted @ 2010-11-29 11:31 江大渔 阅读(1469) | 评论 (3) 编辑
摘要: 前不久,SuperSocket v1.0 正式发布了。 作为.NET语言为数不多的socket服务器端框架, SuperSocket很好的支持了命令行格式的协议,很多经典的应用都可以用它来构建, 例如FTP, SMTP/POP3等等。 近期,SuperSocket又进行了几次比较大的重构,扩展性又将得到进一步提升。不久,SuperSocket将会支持自定义协议的功能,内嵌包括命令行格式协议和终止符格式协议,用户也可以定制开发符合自己项目需求的协议。项目地址:http://supersocket.codeplex.com阅读全文
posted @ 2010-11-16 12:07 江大渔 阅读(817) | 评论 (4) 编辑
摘要: 项目首页: http://supersocket.codeplex.com/下载地址:http://supersocket.codeplex.com/releases/view/54186什么是SuperSocket? SuperSocket 是一个轻量级的可扩展的 Socket 开发框架,可用来构建一个基于命令的服务器端 Socket 程序,而无需了解如何使用 Socket,如何维护Socket连接,Socket是如何工作的。该项目使用纯 C# 开发,易于扩展和集成到已有的项目。只要你的已有系统(forum/CRM/MIS/HRM/ERP)是使用.NET开发的,你都能够使用 SuperS阅读全文
posted @ 2010-10-19 14:59 江大渔 阅读(968) | 评论 (13) 编辑
摘要: Release Notes Includes: Source codeQuick start examplesChanges: Refactored the code about async receive commandImproved the code about receiving binary dataAdded independent logging files support for each socket server instancesAdded unit test projectImproved CommandParser and CommandParameterParser阅读全文
posted @ 2010-09-09 10:33 江大渔 阅读(330) | 评论 (0) 编辑
摘要: Main changes: * Fixed bugs in socket communications * Added more socket server configurations * Improved the command parser structure * Implemented the best async socket communication practice using SocketAsyncEventArgs and BufferManager * Removed/moved unused files * Changed license to Apache License Version 2.0阅读全文
posted @ 2010-07-11 15:09 江大渔 阅读(708) | 评论 (0) 编辑
摘要: 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阅读全文
posted @ 2010-06-11 10:23 江大渔 阅读(10850) | 评论 (28) 编辑
摘要: SuperSocket is an extensible socket application framework. You can use it to build a command based server side socket application easily without thinking about how to use socket, how to maintain the socket connections and how socket works(synchronize/asynchronize). It is a pure C# project which is designed to be extended, so it is easy to be integrated to your existing system. As long as your systems (like forum/CRM/MIS/HRM/ERP) are developed in .NET language, you must be able to use SuperSoc阅读全文
posted @ 2010-06-09 13:39 江大渔 阅读(1970) | 评论 (0) 编辑