05 2011 档案
摘要: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
阅读全文
摘要:Windows Azure是微软的云计算平台!Windows Azure通过微软的数据中心为开发人员提供以按需的计算能力和存储能力去托管、扩展和管理互联网上的应用程序。运行于Windows Azure上的应用程序具有很高的可靠性和可伸缩性。基于SuperSocket的服务器程序可以轻易的运行于Windows Azure平台之上。和普通Socket服务器程序不同,首先需要在Role的属性中设置Socket程序对外提供服务的Endpoint:然后在WorkerRole代码文件中动态的获取外部Endpoint所对应的内部Endpoint:var instanceEndpoint = RoleEnvi
阅读全文
摘要:SuperSocket支持同步模式(Sync)下的传输层加密(TLS/SSL)。首先,你需要准备好用于加密的证书文件(带私钥)。用于测试的证书可由SuperSocket的CertificateCreator来生成(http://supersocket.codeplex.com/releases/view/59311), 生成之后(*.pfx)导入到测试服务器的可信任证书目录中。生产环境的证书需要向证书颁发机构提交申请之后才能获得证书文件,获得证书之后到计算机的证书管理器中导出该证书的带私钥的证书文件(*.pfx).然后,在配置文件中增加加密传输的相关属性和节点。<server name=
阅读全文
摘要:SuperSocket内置了支持Flash和Silverlight的客户端的Socket策略服务器,其实现代码在SuperSocket.Facility.dll这个assembly之中。所以要启用策略服务器,首先要保证SuperSocket.Facility.dll存在于SuperSocket运行目录,然后在配置文件中增加相关的节点即可。Flash策略服务器<socketServer> <servers> <server name="FlashPolicyServer" serviceName="FlashPolicyService&
阅读全文
摘要:SuperSocket支持在同一程序中运行多个服务器实例监听在不同的IP或端口,只需在配置文件中添加两个server节点即可:<?xml version="1.0" encoding="utf-8" ?><configuration> <configSections> <section name="socketServer" type="SuperSocket.SocketEngine.Configuration.SocketServiceConfig, SuperSocket.So
阅读全文
摘要:SuperSocket中连接过滤器(Connection Filter)是用与对客户端连接进行过滤的接口。通过连接过滤器, 你可以允许或者禁止指定来源的客户端对服务器进行连接。连接过滤器(Connection Filter)接口:/// <summary>/// The basic interface of connection filter/// </summary>public interface IConnectionFilter{ /// <summary> /// Initializes the connection filter /// <
阅读全文
摘要: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 ...
阅读全文
摘要:实现自己的Socket服务器,不免需要将某些参数放到配置文件之中。而SuperSocket提供了非常好用的接口让你将参数存入配置文件之中并且在你AppServer中能够方便的读取和使用。如下配置代码: 1: <server name="FlashPolicyServer" 2: serviceName="FlashPolicyService" 3: ip="Any" port="843" 4: mode="Async" 5: receiveBufferSize="32"
阅读全文
摘要:SuperSocket内置了日志功能,你只需通过下面两个步骤来启用它:1) 包含SuperSocket提供的配置文件log4net.config到你的启动程序的/Config目录2) 如果你用自定义容器运行SuperSocket,请确认您添加了LogUtil.Setup(); 这段代码到程序入口位置,用于启用SuperSocket日志功能SuperSocket的AppServer和AppSession都有Logger属性,你可以直接使用他们来记录日志。SuperSocket的日志是以文件的形式存放在运行目录的Logs子目录里面,Log相关的配置请参考文档http://www.cnblogs.c
阅读全文
摘要: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
阅读全文