在C中使用异步Socket编程实现TCP网络服务的CS的通讯构架(一)----基础类库部分.docVIP

在C中使用异步Socket编程实现TCP网络服务的CS的通讯构架(一)----基础类库部分.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
在C中使用异步Socket编程实现TCP网络服务的CS的通讯构架(一)----基础类库部分

标题:在C#中使用异步Socket编程实现TCP网络服务的C/S的通讯构架(一)----基础类库部分 当看到.NET中TcpListener和TcpClient的时候,我非常高兴,那就是我想要的通讯模式 但是使用之后发现它们的力量太单薄了,我们需要一个更好的类库来替代它们. 下面提供了一些类,可以很好的完成Tcp的C/S通讯模式.在本文的第二部分,我将为大家介绍怎么使用它们 主要通过事件来现实整个的功能: 服务器的事件包括: 服务器满 新客户端连接 客户端关闭 接收到数据 客户端使用的事件包括: 已连接服务器 接收到数据 连接关闭 另外为了灵活的处理需求变化,还提供了编码器和报文解析器的实现方法. 注意:该类库没有经过严格的测试,如出现Bug,请发送给我,我会觉得你的整个行为是对我的鼓励和支持. */ ////////////////////////////////////////////////////////////////////////////////////////// /// summary /// (C)2003-2005 C2217 Studio /// 保留所有权利 /// /// 文件名称: TcpCSFramework.cs /// 文件ID: /// 编程语言: C# /// 文件说明: 提供TCP网络服务的C/S的通讯构架基础类 /// (使用异步Socket编程实现) /// /// 当前版本: 1.1 /// 替换版本: 1.0 /// /// 作者: 邓杨均 /// EMail: dyj057@ /// 创建日期: 2005-3-9 /// 最后修改日期: 2005-3-17 /// /// 历史修改记录: /// /// 时间: 2005-3-14 /// 修改内容: /// 1.创建Ibms.Net.TcpCSFramework命名空间和添加Session对象. /// 2.修改NetEventArgs类,以适应新添加对象. /// 3.添加了会话退出类型,更适合实际的情况. /// 注意: /// * 强制退出类型是应用程序直接结束,比如通过任务管理器结束 /// 程序或者程序异常退出等,没有执行正常的退出方法而产生的. /// * 正常的退出类型是应用程序执行正常的退出的方法关键在于 /// 需要调用Socket.Shutdown( SocketShutdown.Both )后才调用 /// Socket.Close()方法,而不是直接的调用Socket.Close()方法, /// 如果那样调用将产生强制退出类型. /// /// 时间: 2005-3-16 /// 修改内容: /// 1.创建TcpCli,Coder,DatagramResover对象,把抽象和实现部分分离 /// 2.文件版本修改为1.1,1.0版本仍然保留,更名为: /// TcpCSFramework_v1.0.cs /// 3.在TcpServer中修改自定义的hashtable为系统Hashtable类型 /// /// /summary using System; using System.Net.Sockets; using System.Net; using System.Text; using System.Diagnostics; using System.Collections; namespace Ibms.Net.TcpCSFramework { /// summary /// 网络通讯事件模型委托 /// /summary public delegate void NetEvent(object sender, NetEventArgs e); /// summary /// 提供TCP连接服务的服务器类 /// /// 版本: 1.1 /// 替换版本: 1.0 /// /// 特点: /// 1.使用hash表保存所有已连接客户端的状态,收到数据时能实现快速查找.每当 /// 有一个新的客户端连接就会产生一个新的会话(Session).该Session代表了客 /// 户端对象. /// 2.使用异步的Socket事件作为基础,完成网络通讯功能. /// 3.支持带标记的数据报文格式的识别,以完成大数据报文的传输和适应恶劣的网 /// 络环境.初步规定该类支持的最大数据报文为640K(即一个

文档评论(0)

tiangou + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档