2012-01-18 15:23 by 江大鱼, 59 visits, 网摘, 收藏, 编辑
摘要:从SuperSocket开源到现在已经经历了近两年时间。对比现在的代码和两年前第一次签入Codeplex代码库的代码,可以看SuperSocket的改进还是很多的。过去的一年(2011)对于SuperSocket来说是很重要的一年,年初的1.3 stable,年中的1.4 stable和年底的1.4 SP2都是里程碑式的版本。SuperWebSocket在2011年里也从一个SuperSocket的示例项目成长为一个知名的WebSocket服务器实现,而且获得了不少用户的好评。在过去的一年里,有很多用户通过使用SuperSocket和SuperWebSocket搭建起了稳定、可靠的Socket服务器,我对此甚感欣慰,我投入的精力没有白费,我的工作是有价值的。很多用户给SuperSocket和SuperWebSocket提出了一些问题,有些是缺陷,有些是新的功能需求,也有一些用户提出了对性能方面的关切,这些都是我在2012年里在自己的开源项目方面前进的动力。
阅读全文
2012-01-13 10:28 by 江大鱼, 81 visits, 网摘, 收藏, 编辑
摘要:SuperWebSocket在发布了8个drop版本之后,SuperWebSocket 0.1诞生了, 停止发布drop转而发布正式的测试版的原因是SuperWebSocket最近兼容了rfc6455 (通过IETF批准的标准协议),而以前的drop版本只支持草案版本的websocket协议。这样的改进对代码的改动很小,但对RFC6455这样一个标准协议的兼容也是具有标志意义的。
阅读全文
2011-12-28 10:16 by 江大鱼, 223 visits, 网摘, 收藏, 编辑
摘要:SuperSocket 1.4 SP2终于在2012年来临之前发布了,他是一个非常重要的版本。很有可能它将是SuperSocket 1.4的最后一个release. 在明年,我将专注于SuperSocket 1.5的开发,1.5会新增几个十分重要的功能,比如动态语言的支持,客户端管理工具等等。这些新的功能将在未来的一年里通过beta发布的方式陆续和大家见面。在SuperSocket 1.4 SP2这个版本里,包含了如下更新:改进了ArraySegmentList和BinaryUtil的性能 改进了命令行协议实现的性能 新增了子配置节点的自定义功能 异步的TLS/SSL支持(通过SslStrea
阅读全文
2011-04-19 12:36 by 江大鱼, 4753 visits, 网摘, 收藏, 编辑
摘要:SuperSocket架构图 SuperSocket系列文档(1) 第一个例子,EchoServiceSuperSocket系列文档(2) SuperSocket的基本配置SuperSocket系列文档(3) 使用SuperSocket的第一步,实现你自己的AppServer和AppSessionSuperSocket系列文档(4) 使你的SuperSocket AppServer运行SuperSocket系列文档(5) 实现你的Socket命令SuperSocket系列文档(6) 在AppSession和Commands中访问AppServerSuperSocket系列文档(7) 命令行协议
阅读全文
2010-12-23 12:23 by 江大鱼, 794 visits, 网摘, 收藏, 编辑
摘要:为便于管理,SuperSocket的测试版发布将不再单独发博文,而是直接以最新在前的顺序汇总在此博文之中。
阅读全文
2012-01-18 15:23 by 江大鱼, 59 visits, 网摘, 收藏, 编辑
摘要:从SuperSocket开源到现在已经经历了近两年时间。对比现在的代码和两年前第一次签入Codeplex代码库的代码,可以看SuperSocket的改进还是很多的。过去的一年(2011)对于SuperSocket来说是很重要的一年,年初的1.3 stable,年中的1.4 stable和年底的1.4 SP2都是里程碑式的版本。SuperWebSocket在2011年里也从一个SuperSocket的示例项目成长为一个知名的WebSocket服务器实现,而且获得了不少用户的好评。在过去的一年里,有很多用户通过使用SuperSocket和SuperWebSocket搭建起了稳定、可靠的Socket服务器,我对此甚感欣慰,我投入的精力没有白费,我的工作是有价值的。很多用户给SuperSocket和SuperWebSocket提出了一些问题,有些是缺陷,有些是新的功能需求,也有一些用户提出了对性能方面的关切,这些都是我在2012年里在自己的开源项目方面前进的动力。
阅读全文
2012-01-13 10:28 by 江大鱼, 81 visits, 网摘, 收藏, 编辑
摘要:SuperWebSocket在发布了8个drop版本之后,SuperWebSocket 0.1诞生了, 停止发布drop转而发布正式的测试版的原因是SuperWebSocket最近兼容了rfc6455 (通过IETF批准的标准协议),而以前的drop版本只支持草案版本的websocket协议。这样的改进对代码的改动很小,但对RFC6455这样一个标准协议的兼容也是具有标志意义的。
阅读全文
2012-01-09 13:47 by 江大鱼, 42 visits, 网摘, 收藏, 编辑
摘要:为大家所知,ILMerge可用于合并.NET的程序集,但如何合并Silverlight,WindowsPhone或者Mono for Android的程序集呢?其实ILMerge命令参数targetplatform已经提供了对此项功能的支持。ILMerge下载地址:http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=17630使用ILMerge合并Silverlight程序集:set srcdir=D:\Bin\Silverlightset outdir=D:\Bin\Silverlight\Outpu
阅读全文
2011-12-28 10:16 by 江大鱼, 223 visits, 网摘, 收藏, 编辑
摘要:SuperSocket 1.4 SP2终于在2012年来临之前发布了,他是一个非常重要的版本。很有可能它将是SuperSocket 1.4的最后一个release. 在明年,我将专注于SuperSocket 1.5的开发,1.5会新增几个十分重要的功能,比如动态语言的支持,客户端管理工具等等。这些新的功能将在未来的一年里通过beta发布的方式陆续和大家见面。在SuperSocket 1.4 SP2这个版本里,包含了如下更新:改进了ArraySegmentList和BinaryUtil的性能 改进了命令行协议实现的性能 新增了子配置节点的自定义功能 异步的TLS/SSL支持(通过SslStrea
阅读全文
2011-09-20 22:31 by 江大鱼, 528 visits, 网摘, 收藏, 编辑
摘要: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
阅读全文
2011-07-06 12:56 by 江大鱼, 2577 visits, 网摘, 收藏, 编辑
摘要: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开发的,你都能够
阅读全文
2011-05-16 22:14 by 江大鱼, 465 visits, 网摘, 收藏, 编辑
摘要:SuperSocket通过Mono来实现.NET程序的跨平台,SuperSocket最低支持的Mono的版本为2.10。由于Unix/Linux不同于Windows上的文件路径格式,SuperSocket提供了专用于Unix/Linux系统上的log4net文件:/Solution Items/log4net.unix.config因此,你需要将此文件包含到你的项目输出目录的Config子目录下。在Unix/Linux操作系统中,SuperSocket同样可以通过Mono以控制台和服务这两种形式运行。控制台运行:mono SuperSocket.SocketService.exe –cMono
阅读全文
2011-05-16 21:56 by 江大鱼, 347 visits, 网摘, 收藏, 编辑
摘要:Windows Azure是微软的云计算平台!Windows Azure通过微软的数据中心为开发人员提供以按需的计算能力和存储能力去托管、扩展和管理互联网上的应用程序。运行于Windows Azure上的应用程序具有很高的可靠性和可伸缩性。基于SuperSocket的服务器程序可以轻易的运行于Windows Azure平台之上。和普通Socket服务器程序不同,首先需要在Role的属性中设置Socket程序对外提供服务的Endpoint:然后在WorkerRole代码文件中动态的获取外部Endpoint所对应的内部Endpoint:var instanceEndpoint = RoleEnvi
阅读全文
2011-05-16 21:21 by 江大鱼, 432 visits, 网摘, 收藏, 编辑
摘要:SuperSocket支持同步模式(Sync)下的传输层加密(TLS/SSL)。首先,你需要准备好用于加密的证书文件(带私钥)。用于测试的证书可由SuperSocket的CertificateCreator来生成(http://supersocket.codeplex.com/releases/view/59311), 生成之后(*.pfx)导入到测试服务器的可信任证书目录中。生产环境的证书需要向证书颁发机构提交申请之后才能获得证书文件,获得证书之后到计算机的证书管理器中导出该证书的带私钥的证书文件(*.pfx).然后,在配置文件中增加加密传输的相关属性和节点。<server name=
阅读全文
2011-05-15 10:55 by 江大鱼, 454 visits, 网摘, 收藏, 编辑
摘要:SuperSocket内置了支持Flash和Silverlight的客户端的Socket策略服务器,其实现代码在SuperSocket.Facility.dll这个assembly之中。所以要启用策略服务器,首先要保证SuperSocket.Facility.dll存在于SuperSocket运行目录,然后在配置文件中增加相关的节点即可。Flash策略服务器<socketServer> <servers> <server name="FlashPolicyServer" serviceName="FlashPolicyService&
阅读全文
2011-05-15 10:24 by 江大鱼, 771 visits, 网摘, 收藏, 编辑
摘要:SuperSocket支持在同一程序中运行多个服务器实例监听在不同的IP或端口,只需在配置文件中添加两个server节点即可:<?xml version="1.0" encoding="utf-8" ?><configuration> <configSections> <section name="socketServer" type="SuperSocket.SocketEngine.Configuration.SocketServiceConfig, SuperSocket.So
阅读全文
2011-05-14 11:48 by 江大鱼, 388 visits, 网摘, 收藏, 编辑
摘要:SuperSocket中连接过滤器(Connection Filter)是用与对客户端连接进行过滤的接口。通过连接过滤器, 你可以允许或者禁止指定来源的客户端对服务器进行连接。连接过滤器(Connection Filter)接口:/// <summary>/// The basic interface of connection filter/// </summary>public interface IConnectionFilter{ /// <summary> /// Initializes the connection filter /// <
阅读全文
2011-05-11 21:16 by 江大鱼, 453 visits, 网摘, 收藏, 编辑
摘要:SuperSocket的Command Filter功能类似于ASP.NET MVC中的Action Filter,你可以用它来截获Command的执行,在Command运行之前或之后运行Filter的代码。Command Filter必须继承自Attribute类CommandFilterAttribute:[AttributeUsage(AttributeTargets.Class, AllowMultiple = true)]public abstract class CommandFilterAttribute : Attribute{ public abstract void ...
阅读全文
2011-05-04 20:08 by 江大鱼, 432 visits, 网摘, 收藏, 编辑
摘要:实现自己的Socket服务器,不免需要将某些参数放到配置文件之中。而SuperSocket提供了非常好用的接口让你将参数存入配置文件之中并且在你AppServer中能够方便的读取和使用。如下配置代码: 1: <server name="FlashPolicyServer" 2: serviceName="FlashPolicyService" 3: ip="Any" port="843" 4: mode="Async" 5: receiveBufferSize="32"
阅读全文
2011-05-03 23:10 by 江大鱼, 473 visits, 网摘, 收藏, 编辑
摘要:SuperSocket的AppServer和AppSession都有Logger属性,你可以直接使用他们来记录日志。SuperSocket的日志是以文件的形式存放在运行目录的Logs子目录里面,Log相关的配置请参考文档http://www.cnblogs.com/jzywh/archive/2011/04/20/2022946.html某项目AppServer类中有如下代码:if (string.IsNullOrEmpty(m_PolicyFile)){ Logger.LogError("Configuration option policyFile is required!&qu
阅读全文