自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

zhuweisky

不为繁华易匠心

  • 博客(20)
  • 资源 (5)
  • 收藏
  • 关注

原创 ESFramework介绍之(27)-- 支持OverdueMessage

   (本文适用于ESFramework V0.2+)     QQ上,你给好友发消息,如果对方不在线,则服务器会把这个消息持久化存起来,等好友下次上线时,再转发给他。像这样的消息在ESFramework中称为OverdueMessage。显然,MSN没有支持OverdueMessage。 当然了,ESFramework中的OverdueMessage不仅仅是文字消息,而是可以为任何类型

2006-04-30 17:57:00 735

原创 【记录】2006-04-30 11:30:00 本Blog访问量突破100000 !

最近好事连连啊!2006-04-30 11:30:00 本Blog访问量突破100000  ! 也祝嘟嘟于昨天顺利通过硕士答辩!

2006-04-30 11:57:00 842

原创 撤销与反撤销 功能实现

    你一定经常看见类似下面的图标:        它们就表示“撤销”与“反撤销”。在程序中,这种功能通常是使用Command模式实现的,本文也不例外。首先抽象定义Command,使用ICommand接口:    public interface ICommand    {        void Excute() ;    }    Excute表示执行该ICommand引用

2006-04-30 09:57:00 14824 4

原创 待解决的问题,谁帮忙点破下!

01.关于Castle的IOC容器配置疑惑1?    Question:以前一直使用Spring.net的IOC容器,据说Castle更适合.NET,所以研究了一下,遇到几个问题不能解决。Castle称组件实现的接口为服务,一般情况是一个组件仅仅实现一个服务(接口),如果一个组件实现了两个服务,而这两个服务都要在应用中使用,而Castle不允许将同一个组件(实例)注册两次,所以没有注册的

2006-04-29 15:58:00 941

原创 ESFramework使用技巧(1)-- ESFramework 日志记录器的自动装配

    ESFramework中很多重要的组件都配备了日志记录器IEsbLogger,用于记录框架运行时的错误和异常。这些重要组件都暴露了一个名为“EsbLogger”的属性,用于设值法注入日志记录器。    在构建应用时,我采用Spring.net进行组件装配,在Spring的XML配置文件中,需要为这些重要组件配置“EsbLogger”属性,为了不遗漏、配置不错误,手动装配时必须非常

2006-04-28 15:58:00 652

原创 使用NHibernate的你也许需要SessionQuicker

    NHibernate功能的强大,勿庸置疑。但是很多地方使用起来也颇为繁琐,比如,无法完整的构建数据层、我们很多时候还是需要绕过NHibernate而直接使用ADO.net;比如,任何一次数据访问,哪怕只是简单的数据读取,我们都需要仔细的处理Session、Transaction。如果你的数据层使用NHibernate构建,那么类似下面的代码可能遍地开花:           

2006-04-28 09:58:00 728

原创 ESFramework介绍之(26)-- 支持复杂插件(InnerDealer 和 InnerDispatcher)

    (本文内容适合于 ESFramework V0.2+)    通常,最单纯的情况是一个插件对应某一特定类型的功能请求,但是,在有的应用中也会出现这样的情况,有多种类型的功能请求相互关联、并且可能交叉,如果是这样,对应每种类型的请求都开发一个插件可能会非常困难,因为这可能会牵涉到插件之间的相互引用/访问,这违背了插件的“自治”性。最好的办法还是将它们放在一个插件中,通过Servic

2006-04-25 19:58:00 709

原创 ESFramewor使用技巧(2)-- 在插件中使用NHibernate

    我们来讨论一下这种情景,你采用基于ESFramework的4层架构进行应用开发,你分析用户的需求,并将其分类整理为几大块,考虑每一块使用一个功能插件来完成。在这几个插件中,有个插件需要访问某个数据库,并且只有这个插件需要访问这个数据库,根据插件的“自治”性质,你不想将本插件中的数据访问“上升蔓延”到应用程序(FS),而是让它“仅仅”在本插件中,这样,无论是对FS还是插件都是有好处

2006-04-25 10:58:00 676

原创 ESFramework应用示例--可复用的FS

    有很多朋友要求给出一个应用ESFramework的Demo,在前面介绍ESFramework支持的4层架构中(回顾),有AS、FS、IRAS,其中FS的功能需求最简单,所以本文就给出一个FS实现示例。        FS主要用于管理功能插件,并且将所有的功能性请求都转发给对应的功能插件处理,不需要关心用户(由AS管理)、不用关心具体的业务需求(由对应的功能插件处理),所以FS非常

2006-04-20 17:58:00 1075 1

原创 初试Ajax.Net !

    从事了几年的C/S模式的开发,曾一直无暇研究B/S,前段时间摊上了一个B/S的活,这才开始认真的关注其B/S开发。而且,AJAX技术的风起云涌,也使得B/S应用的表现力日益增强,大有逐步吞食C/S领地之势。这两天通过《Ajax基础教程》开始学习Ajax技术,在附录的Ajax框架介绍中发现了这样一句话:“利用Ajax.Net,你可以从JavaScript客户调用.NET方法”。这是

2006-04-19 10:58:00 723

原创 ESFramework介绍之(24)―― 日志记录IEsbLogger

    框架,从另外一个角度说,就是一个半成品的应用程序,既然如此,框架在运行的过程中也会遇到诸多的异常、错误情况,我们需要将这些情况记录下来,以便在发生问题时为我们的诊断提供必要的帮助。    最最开始,那还是在ESFramework的前身即EnterpriseServerBase的时候,由于当时只是将EnterpriseServerBase作为一个类库,而并没有提升到一个框架的高度,

2006-04-14 11:58:00 695

原创 ESFramework介绍之(23)―― AgileTcp

    前面已经介绍了ITcp接口,而AgileTcp就是ESFramework给出的ITcp的参考实现。在之前,我曾经讲解过模拟完成端口的Tcp组件实现和异步Tcp组件实现,在它们的基础之上,我更改了处理策略,而形成了AgileTcp,目的是更清晰的结构、更高的效率。这个策略会在后面讲到。    Tcp组件主要控制着系统与终端用户的所有消息的进出,ITcp接口描述了这个组件的外貌,告诉

2006-04-13 10:58:00 657

原创 ESFramework介绍之(22)―― 服务器系统自动升级

    (本文名字取为“服务器系统自动升级”,实际上适用于所有应用程序自动升级的情况。)    前文介绍了在服务器或客户端应用程序运行的过程中,插件如何自动升级、更新。基于前文相同的理由,AS、FS、IRAS也需要有自动升级的功能。     与插件在运行时动态更新不同,服务器系统无法在运行时动态更新,只有在服务器系统重新启动的时候,才是自动升级的切入点。(1)对于功能服务器FS,可以采用

2006-04-12 15:58:00 707

原创 ESFramework介绍之(21)-- Tcp组件接口ITcp介绍

        写了这么多篇介绍ESFramework的文章才想起来还有一些很基础的内容没有介绍,前面介绍的一些组件、框架基本上是与协议无关的(比如无论是Tcp还是Udp甚至是Remoting、WebService都可以通用),然而到了应用的最底层,我们总需要选择一种通信协议,.net Framework对Remoting和WebService已经封装的足够好了,而对Tcp和Udp提供的

2006-04-12 11:58:00 882

原创 当你拥有一把用得顺手的锤子

记不得在哪里看过这句话,“当你拥有一把用得顺手的锤子,就会认为全世界都是钉子”。所有的事情、所有的问题,你都尝试用这把锤子去解决。很多情况下,常常,这把锤子解决不了问题,或者说,有更好的工具来解决手头的问题。比如,将钉子从木头中取出来,使用起子会更有效率、更省事。    编程语言,比如C#,就是我们手上的锤子;而由此语言而形成的思维方式、思考习惯更是我们头脑中一把无形的锤子。这是好事、

2006-04-10 17:12:00 2733 5

原创 当你拥有一把用得顺手的锤子

    记不得在哪里看过这句话,“当你拥有一把用得顺手的锤子,就会认为全世界都是钉子”。所有的事情、所有的问题,你都尝试用这把锤子去解决。很多情况下,常常,这把锤子解决不了问题,或者说,有更好的工具来解决手头的问题。比如,将钉子从木头中取出来,使用起子会更有效率、更省事。    编程语言,比如C#,就是我们手上的锤子;而由此语言而形成的思维方式、思考习惯更是我们头脑中一把无形的锤子。这是

2006-04-09 17:58:00 833

原创 将权限引入系统的探索

    很久以前就尝试过使用AOP进行权限控制的管理,那时候只是试试而已,并没有在项目中应用过,最近跟的一个B/S项目中要求我们把权限管理加进去,于是我考虑以前的AOP方法是否真的可行。思考许久后的结果是,可行,但是太麻烦。    主要原因在于需要在UI层逻辑层数据层之外增加额外的一层来使得AOP拦截可以以恰当的粒度、恰当的时机切入。如果不增加额外的这一层而使用AOP就可能会得到这样的结

2006-04-08 22:58:00 798

原创 ESFramework介绍之(20)―― 插件自动升级

    当我们的服务平台搭建成功后,所需要做的主要事情就是开发服务端功能插件(IFunAddin)和客户端插件(IPassiveAddin),每个插件对(AddinPair)实现了一组相似或相近的需求/功能。    好了,我们已经开发了十多对插件对,然后分别XCopy到了各个服务器节点上,“整个系统”已经投入了运行。通过前面的介绍(回顾),相信大家对我们的“整个系统”有了个大致的映像。我

2006-04-07 14:58:00 897

原创 ESFramework 可复用的通信框架(序)

 自从2004年7月开始,就一直从事N层C/S结构的服务端的开发,从最初的熟悉各种Windows Socket API、熟悉完成端口模型,探索高效稳定的服务端通信模型,时至今日,慢慢的积累了一些C/S服务端开发的经验,ESFramework便是这些经验的总结。ESFramework的前生是EnterpriseServerBase类库,后来我将EnterpriseServerBase中的Netw

2006-04-07 11:36:00 6135 8

原创 ESFramework介绍之(19)―― 对动态组ActiveGroup的支持

    什么是动态组?举个例子就清楚了。QQ支持多人在一个组中聊天的模式是群,这是一种静态组;而MSN中的动态的将多个人拉到一个组中来群聊,就是动态组。关于动态组,还有一个很好的例子,就是多人联网游戏,比如联网的星际。首先由发起者创建一个组(动态组),然后其它玩家加入进来开始游戏,游戏结束了,该动态组就销毁了。所以说,动态组是个“临时性的”,生命比较短暂;而静态组,通常被存储于永久介质(

2006-04-07 10:58:00 921

OVCS视频会议源码(Windows、Linux、Android、iOS、Web、银河麒麟、统信UOS)

OVCS是一套支持全平台的视频会议系统,并且适配了信创国产化的OS和CPU。OVCS源码压缩包中包括的源码有:服务端 + WinPC端 + LinuxPC端(国产OS) + Android端 + iOS端 + Web端。服务端和PC端使用VS + C#,安卓端和iOS端为原生,Web端为JS。 OVCS 视频会议主界面布局: (1)当只有一个人开启视频时,采用大视窗显示。 (2)当2~4人开启视频时,使用2x2布局。 (3)当超过4人开启视频时,使用3x3布局。

2023-06-20

即时通讯系统GGTalk 8.0 源码(Windows、Linux、Android、iOS)

GGTalk 8.0 源码,这次版本变更的主要内容如下: 增加Linux客户端,支持国产操作系统(如UOS、银河麒麟等)、国产CPU(如龙芯、鲲鹏等)。支持同一账号在多个设备上同时登录。支持高清视频聊天(1920*1080分辨率)。QQ:2027224508

2022-10-14

C#网络电子白板(支持pdf,word,ppt课件) 源码

下载源码,运行系统进行测试时,请注意: (1)启动服务端。 (2)启动第一个客户端,选择“老师”角色,登录进默认教室。 (3)再启动多个客户端,选择“学生”角色,登录进默认教室。 (4)老师即可进行上传课件、打开课件、删除课件、课件翻页,在课件上标注、书写,等等操作。

2015-09-10

企业即时通信系统 - OrayTalk 2.1

可在广域网直接部署运行(压缩包内含服务端、客户端、数据库脚本),功能及UI风格高仿QQ,主要功能有: (01)企业组织结构。 (02)文字聊天:字体设置、动态表情、振动提醒、截图、手写板。 (03)语音、视频聊天。 (04)文件/文件夹传送(支持断点续传)。 (05)离线文件、离线消息。 (06)远程协助。 (07)桌面共享(可指定共享区域)。 (08)好友:查找好友、添加好友、删除好友。 (09)群组:创建群、加入群、退出群、群讨论。 (10)消息记录:既在本地存储(查看时可瞬时加载),也存储于服务器数据库中(记录永不丢失,在任何地方都可查看)。 (11)最近联系人。 (12)个人资料:注册、修改、自拍头像/上传头像。 (13)在线状态:隐身、在线、离开、忙碌、请勿打扰。 (14)消息提醒(托盘图标闪动、头像闪动),对方“正在输入”提示。 (15)系统设置:开机自动启动、麦克风设备索引、摄像头设备索引,叉掉主窗口时关闭程序还是隐藏窗口。 (16)好友、群组资料本地缓存,加快启动速度。 (17)断线自动重连。

2014-09-24

ESFramework通讯框架

该通讯框架,底层使用IOCP模型,支持局域网和广域网的P2P通信,支持文件传送,支持跨平台通信,支持服务器群集 可以嵌入其它软件,二次开发,文档齐全,接口清晰规范,容易上手。

2012-05-24

IM聊天系统源码(C#),支持桌面客户端和Silverlight客户端

实现了网络聊天IM的基本功能,基于.NET 2.0 开发,使用了ESFramework通信框架。支持windows客户端和Silverlight客户端。很强大!

2011-04-08

NATUPnP - 解决TCP穿透NAT

使用upnp协议解决NAT TCP穿透问题。

2010-01-26

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除