上一页 1 2 3 4 5 6 7 8 9 ··· 17 下一页
摘要: 作为.NET平台上的通信框架,ESFramework有哪些优点了?我们有什么理由要使用ESFramework来开发自己的通信应用?1.高性能 ESFramework底层使用IOCP模型,使得数据收发与处理达到最高性能。当前主流配置的服务器(如至强4核双CPU、4-8G内存)可轻松处理10000个同时在线连接,每秒处理50000个以上的请求。当然,最终能达到的并发,更取决于具体应用的业务逻辑,如果业务逻辑复杂、处理单个请求都对CPU和内存的消耗都比较高,那么就会导致并发数下降,这时也许就要优化我们的业务逻辑代码了、或者使用更多的服务器来分担负载(比如迁移到ESPlatform)。关于ESFra. 阅读全文
posted @ 2011-03-24 09:32 zhuweisky 阅读(4641) 评论(15) 推荐(3) 编辑
摘要: 在ESFramework 4.0 进阶(02)-- 核心:消息处理的骨架流程一文中我们介绍的ESFramework提供的消息处理的骨架流程,假设我们有这样的需求,我们需要在网关级消息监控器处放置两个监控器,一个用于对收到的消息进行特殊的验证,另一个用于检查重复的消息。咋一看,可能觉得骨架流程做不到... 阅读全文
posted @ 2011-03-22 11:03 zhuweisky 阅读(2035) 评论(2) 推荐(3) 编辑
摘要: 在ESFramework框架中基于TCP的服务端引擎(当然也包括Rapid引擎)都采用了这样一条规则:默认情况下,客户端与服务器成功建立TCP连接以后,服务端会从客户端发过来的第一条消息中取出消息头的UserID属性的值,并将其与对应的TCP连接绑定起来。这样,服务端就知道每一个TCP连接所对应... 阅读全文
posted @ 2011-03-15 09:52 zhuweisky 阅读(2507) 评论(1) 推荐(8) 编辑
摘要: 在Internet上采用TCP进行通信的系统,都会遇到一个令人头疼的问题,就是“掉线”。而“TCP掉线”这个问题远比我们通常所能想象的要复杂的多 -- 网络拓扑纷繁复杂、而从始节点A到终节点B之间可能要经过N多的交换机、路由器、防火墙等等硬件设备,每个硬件设备的相关设定也不统一,再加上网络中可能出... 阅读全文
posted @ 2011-03-13 12:26 zhuweisky 阅读(3356) 评论(6) 推荐(7) 编辑
摘要: 《ESFramework 4.0 快速上手》系列介绍的都是如何使用Rapid引擎(快速引擎) -- RapidServerEngine 和 RapidPassiveEngine。其实,大家可以将这两个引擎看作是两个壳,内部包装的才是真正的ESFramework的网络引擎, ESFramework支持很多种网络引擎(客户端/服务端、二进制协议/文本协议、TCP/UDP),而RapidServerEngine和RapidPassiveEngine采用的是基于TCP和二进制协议的服务端引擎和客户端引擎。这两个壳存在的目的,就是使大家不用了解ESFramework内部机制,就可以非常快速的上手ESF. 阅读全文
posted @ 2011-03-08 16:40 zhuweisky 阅读(2492) 评论(1) 推荐(3) 编辑
摘要: Silverlight已经到4.0版本了,已经相当成熟了,在Silverlight中使用socket与服务器进行通信也是常见的需求,所以,作为.NET平台的通信框架,ESFramework支持Silverlight开发是必须的。 ESFramework.SL 即是ESFramework提供的Si... 阅读全文
posted @ 2011-03-07 17:52 zhuweisky 阅读(2250) 评论(1) 推荐(5) 编辑
摘要: 在ESFramework 4.0 快速上手一文中,我们讲述了如何使用Rapid引擎可以快速地上手ESFramework开发,文中介绍了使用ESPlus.Application.CustomizeInfo命名空间下的类可以发送和处理自定义消息,本文我们就通过一个简单的例子来深入讲解如何使用自定义消... 阅读全文
posted @ 2011-03-05 15:30 zhuweisky 阅读(2451) 评论(0) 推荐(4) 编辑
摘要: ESFramework框架(包括ESPlus、ESPlatform)实现时就内置了相对完整的日志功能,几乎所有的异常(Exception)和错误信息都会被记录到日志。通过查看日志记录,我们可以了解到程序在运行的过程中出现了哪些非正常的状况,并且,详细的日志记录可以帮我们迅速定位问题,并解决问题。(关... 阅读全文
posted @ 2011-03-01 15:22 zhuweisky 阅读(2651) 评论(2) 推荐(3) 编辑
摘要: 在ESFramework 4.0 快速上手一文中,主要介绍了如何使用ESPlus.Rapid命名空间中的引擎来快速地构建基于TCP的网络通信系统,即使是使用ESPlus.Rapid来进行ESFramework快速开发,也还有很多可以介绍的内容,于是,我想再多写几篇文章来说明现实通信系统中的一些常... 阅读全文
posted @ 2011-02-25 11:39 zhuweisky 阅读(3552) 评论(11) 推荐(4) 编辑
摘要: 以前写的关于架构经验方面的文章(如上一篇实战中演化的三层架构)都是从整体的角度出发的,采用全局的视角,本文我们将拉近镜头,聚焦于日志记录这一块。随着做软件的时间越长、经验积累得越来越多,就越觉得日志记录的重要。 日志记录的主要作用可以从正反两个方面来说:(1)如果程序运行出现问题,可以通过相关日志快速定位到出问题的地方,找到问题的根源,从而快速解决问题。对于已上线的系统来说,如果出现一个bug,通常,解决这个bug的时间主要花在定位bug上,一旦找到bug根源,修复它是非常快的。而恰当的日志记录可以帮我们迅速定位bug。(2)确保我们的系统运行在正常状态。当我们看到日志中类似“***成功完成. 阅读全文
posted @ 2011-02-24 15:31 zhuweisky 阅读(6124) 评论(10) 推荐(8) 编辑
摘要: Win7与原来的XP和Win2003相比,安全控制方面更严格。比如,当我们以administrator登陆XP或Win2003时,运行所有的程序即是以管理员的身份启动的。但当以administrator登陆Win7时,通常状态下,运行普通程序是以普通用户的身份启动的。当我们的WinForm应用程... 阅读全文
posted @ 2011-01-22 11:04 zhuweisky 阅读(3969) 评论(8) 推荐(2) 编辑
摘要: 本文所描述的TCP代理服务器工作于网络协议层次中的应用层,位于传输层之上。只要是以TCP的方式为客户提供服务的(包括我们的HTTP服务器,HTTP底层走的仍然是TCP),我们都可以在真正的TCP服务器前面增加代理服务器。 一.TCP透明代理的作用TCP代理服务器可以隐藏背后真正TCP服务器,如... 阅读全文
posted @ 2011-01-18 10:15 zhuweisky 阅读(6202) 评论(8) 推荐(10) 编辑
摘要: 作为一个搞软件的,能有机会经历被黑客攻击、并参与到抵抗攻击方案的讨论与实施中来,我觉得是很幸运的。虽然每天都有很多攻击产生,但是这种攻击能降临到我们这种不是很知名的公司身上,确实非常难得。下面就把我们对攻击相关的一些认识整理一下并记录,我们也是刚开始积累这些经验,所以有什么错误和不足之处,希望大家不吝斧正和补充。 虽然,我们经常看到一些门户网站被攻击,但是攻击者并不局限于只攻击网站,他可以攻击你对外提供的一切服务,比如,攻击你的游戏服务器、攻击DNS服务器等等。一、为什么会产生攻击?所有攻击的产生都有其背后的原因,我们能想到的有以下几点:(1)黑客小试身手,拿你的服务做试验。真正有实力的黑客是 阅读全文
posted @ 2011-01-05 17:20 zhuweisky 阅读(3065) 评论(3) 推荐(4) 编辑
摘要: 我们的网络游戏采用tcp进行通信,服务端程序绑定8300端口,为游戏客户端提供服务,游戏已经上线稳定运行两年多,从今年9月份开始至今碰到了3次攻击,3次攻击所导致的情况一样,描述如下: (1)从应用层上来看,攻击者每次攻击时,与8300端口都有建立最多两、三百个tcp连接。 (2)从防火墙监控来看, 阅读全文
posted @ 2010-12-23 10:30 zhuweisky 阅读(14292) 评论(45) 推荐(8) 编辑
摘要: (题外话:前面连续N篇介绍都是一些应用比较复杂的类,这篇来个简单易懂的)1.缘起: .NET Framework提供的Soap序列化的方式可以实现对象的xml序列化和反序列化(object xml) ,但是它有三个缺点:(1) 它要求对象的类型定义时必须打上[Serializable]标签,这是强... 阅读全文
posted @ 2010-12-10 09:51 zhuweisky 阅读(3044) 评论(5) 推荐(4) 编辑
摘要: 1.缘起: 在增量自动获取器章节的缘起部分,我们曾提到增量缓存,本节我们将深入探讨它以及用于管理增量缓存的管理器。我们还是以增量自动获取器章节提到的例子作为基础,并做更进一步的讨论。 OK,现在让我们开始这有趣的旅程。首先,基于前面例子给出的上下文,我们知道IIncreaseAutoRetrieve... 阅读全文
posted @ 2010-11-04 10:25 zhuweisky 阅读(2329) 评论(2) 推荐(4) 编辑
摘要: 1.缘起:假设我们的订单报表系统,需要能够实时地统计当天的已成交订单的报表。最直观的解决方案就是,当每次接收到查询报表的请求时,就从存储设备读取当天所有已成交的订单,然后再进行分析计算给出结果。这是可行的,而且得到的结果也是非常实时的。但是,这种方式无疑也是非常低效的,因为我们报表数据的统计过程可能... 阅读全文
posted @ 2010-10-06 14:46 zhuweisky 阅读(2751) 评论(2) 推荐(4) 编辑
摘要: Speex是一套开源的音频编解码库,最新版本还包含了回音消除和防抖动等功能,如果我们想开发语音聊天或视频会议这样的系统,Speex将是一个不错的选择。到 http://www.speex.org可以下载Speex的源码(编译后的dll为libspeex.dll),最新版本为1.2。不过源码是用C++ 阅读全文
posted @ 2010-09-16 10:57 zhuweisky 阅读(12917) 评论(63) 推荐(7) 编辑
摘要: 本实验用于测试ESFramework网络通信框架服务端引擎的性能,测试程序使用ESFramework 4.0版本。 一.准备工作 测试的机器总共有3台,都是普通的PC,一台作为服务器,两台作为客户端。 作为服务器是PC配置如下: 操作系统:Windows Server 2003 Enterprise 阅读全文
posted @ 2010-09-11 12:51 zhuweisky 阅读(5874) 评论(35) 推荐(5) 编辑
摘要: (在阅读该文之前,请先阅读ESFramework 4.0 概述 ,会对本文的理解更有帮助。)ESFramework/ESPlatform 4.0 的终极目标是为百万级的用户同时在线提供支持,因为强大,所以使用也较为复杂,配置也较多。但是如果我们的应用只是一个中小型的通信应用(同时在线5000人以下),直接使用ESPlatform就有点显得杀鸡用牛刀了。ESPlus.Rapid提供了一种快速的方式,来解决类似中小型的通信应用,以最简洁的方式来使用ESFramework。 使用ESPlus.Rapid来构建你的ESFramework通信程序,你只需要了解两个引擎(服务端引擎和客户端引擎)和几个组件 阅读全文
posted @ 2010-09-11 11:49 zhuweisky 阅读(8450) 评论(16) 推荐(9) 编辑
上一页 1 2 3 4 5 6 7 8 9 ··· 17 下一页