esframework2.0

所属分类:.net编程
开发工具:Visual C++
文件大小:355KB
下载次数:179
上传日期:2008-05-04 22:34:22
上 传 者sz_yangzc
说明:  一个网络通讯的框架,用.net编写.为网络通讯实现提供很好的例子,可以直接使用.
(The framework of a network communications using. Net preparation. To realize network communication to provide a good example, you can directly use.)

文件列表:
ESFramework (0, 2006-11-24)
ESFramework\Addins (0, 2006-11-24)
ESFramework\Addins\AddinBridge.cs (1866, 2006-11-24)
ESFramework\Addins\Extend (0, 2006-11-24)
ESFramework\Addins\Extend\IInnerProcesser.cs (357, 2006-11-24)
ESFramework\Addins\Extend\InnerDispatcher.cs (2218, 2006-11-24)
ESFramework\Addins\IFunAddin.cs (241, 2006-11-24)
ESFramework\Addins\IPassiveAddin.cs (631, 2006-11-24)
ESFramework\Addins\Upgrade (0, 2006-11-24)
ESFramework\Addins\Upgrade\IAddinUpgrador.cs (7992, 2006-11-24)
ESFramework\Addins\说明.txt (175, 2006-03-02)
ESFramework\AssemblyInfo.cs (1972, 2006-11-24)
ESFramework\Base (0, 2006-11-24)
ESFramework\Base\EsfIPEndPoint.cs (724, 2006-11-24)
ESFramework\Base\EsfTcpClient.cs (1007, 2006-11-24)
ESFramework\Base\IEsbLogger.cs (3218, 2006-11-23)
ESFramework\Base\IServiceKeyNameMatcher.cs (292, 2006-11-24)
ESFramework\Base\NetHelper.cs (6514, 2006-11-24)
ESFramework\bin (0, 2006-11-24)
ESFramework\bin\Debug (0, 2006-11-24)
ESFramework\Core (0, 2006-11-24)
ESFramework\Core\Contract (0, 2006-11-24)
ESFramework\Core\Contract\IContract.cs (1180, 2006-11-24)
ESFramework\Core\Contract\IContractHelper.cs (1462, 2006-11-24)
ESFramework\Core\Contract\IMessageHeader.cs (4652, 2006-11-24)
ESFramework\Core\Contract\Message.cs (1587, 2006-11-24)
ESFramework\Core\Contract\NetMessage.cs (3421, 2006-11-24)
ESFramework\Core\Dispatcher (0, 2006-11-24)
ESFramework\Core\Dispatcher\IMessageDispatcher.cs (860, 2006-11-24)
ESFramework\Core\Dispatcher\INakeDispatcher.cs (345, 2006-11-24)
ESFramework\Core\Dispatcher\MessageDispatcher.cs (4009, 2006-11-24)
ESFramework\Core\Dispatcher\NakeDispatcher.cs (1131, 2006-11-24)
ESFramework\Core\Hook (0, 2006-11-24)
ESFramework\Core\Hook\BaseHook.cs (2518, 2006-11-24)
ESFramework\Core\Hook\BaseZipHook.cs (1351, 2006-11-23)
ESFramework\Core\Hook\ContainerStyleHook.cs (2695, 2006-11-24)
ESFramework\Core\Hook\INetMessageHook.cs (1938, 2006-11-24)
ESFramework\Core\HookSender (0, 2006-11-24)
ESFramework\Core\HookSender\IHookSender.cs (375, 2006-11-24)
ESFramework\Core\HookSender\ITcpHookSender.cs (328, 2006-11-24)
... ...

ESFramework.Network 用于简化系统编程中的网络通信部分。 一.主要原则: (1)通信中的所有消息ESFramework.Network.NetMessage = "消息头ESFramework.Network.IMessageHeader + 主体(可以为空)", 框架与应用系统之间的协议在于IMessageHeader,而消息主体的解析/应用则由应用系统自己完成(更灵活的是,由应用 系统的客户端完成)。 (2)对Hook机制的支持,所有的消息进入系统首先要被Hook然后被分派,所有由系统发送的消息在发送之前也要被Hook,任何 消息都不得例外,如果有消息不参与Hook,则应在ESFramework.Network.INetMessageHook的实现中给予处理,而不是绕过框 架的Hook机制。 二.主要解决方案 1.ESFramework.Network.Tcp 用于解决Tcp通信的骨架。 服务端: (1)实现IContractHelper接口 (2)以EsbRequestDealerFactory为中心,实现各个处理器 (3)如果需要对消息进行Hook拦截处理,则实现INetMessageHook接口,并将其添加到EsbNetMessageHook的Hook列表中 (4)如果要实现用户管理,则引入ESFramework.Network.Tcp.TcpUserManagment,并用TcpUserManagerBridge将ITcpUserManager 与框架的其它部分桥接起来。 (5)如果要支持P2P消息转发,则引入ESFramework.Network.Tcp.P2PMessage。 (6)如果要实现用户的好友管理功能,则引入ESFramework.Network.Tcp.Friends。 (7)如果要实现动态群组,则引入ESFramework.Network.ActiveGroup 客户端:ESFramework.Network.Tcp.Passive 两种方式: (1)以ITcpPassive为中心,手动实现处理器工厂和各处理器,并可复用服务端的Hook (2)以ITcpServerAgent为中心,对客户端进行更高层次的支持。实现IPassiveHelper、ISingleMessageDealer 另外,IFileReceiver和IFileTransmitter对通过服务器中转P2P文件提供了支持。 2.ESFramework.Network.TcpPool对Tcp连接池进行支持,ESFramework.Network.Tcp.TPBasedFunDealerFactory实现了基于连接池的处理器。 3.ESFramework.Network.Udp 用于解决Udp通信的骨架 服务端: (1)以IEsbUdp为中心,实现自己的处理器工厂(可使用EsbRequestDealerFactory)和处理器,实现IContractHelper (2)如果要实现用户管理,则引入ESFramework.Network.Udp.UdpUserManagment (3)如果要实现基于NAT的P2P通信,则引入ESFramework.Network.Udp.NAPT 客户端:以IUdpServerAgent为中心,实现IPassiveHelper

近期下载者

相关文件


收藏者