- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 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(即一个
您可能关注的文档
最近下载
- 大班游戏活动教案《好玩的纸棒》.pptx
- ITECH艾德克斯IT6100系列单路输出高速高精度的可编程直流电源用户手册.pdf VIP
- 艾德克斯ITECH 可编程电源 IT6100 系列产品的编程与语法指南.pdf VIP
- 电商直播中商品与主播信息对销售转化率的影响--基于抖音平台的实证研究.pdf VIP
- 六级词汇闪过乱序版中文翻译.xlsx VIP
- 活着剧本最终版.doc VIP
- EPA7196A六价铬-比色法中文.doc VIP
- 《有理数的混合运算》计算题能力突破训练[含答案].docx
- 学堂在线 海上求生与救生 章节测试答案.docx VIP
- 小学信息技术学科“无生上课”试讲备课要领-一文在手-面试无忧.pdf VIP
文档评论(0)