c#中使用异步socket编程实现tcp网络服务的c s的通讯构架

c#中使用异步socket编程实现tcp网络服务的c s的通讯构架

ID:17409574

大小:36.12 KB

页数:43页

时间:2018-08-31

c#中使用异步socket编程实现tcp网络服务的c s的通讯构架_第1页
c#中使用异步socket编程实现tcp网络服务的c s的通讯构架_第2页
c#中使用异步socket编程实现tcp网络服务的c s的通讯构架_第3页
c#中使用异步socket编程实现tcp网络服务的c s的通讯构架_第4页
c#中使用异步socket编程实现tcp网络服务的c s的通讯构架_第5页
资源描述:

《c#中使用异步socket编程实现tcp网络服务的c s的通讯构架》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、C#中使用异步Socket编程实现TCP网络服务的CS的通讯构架 usingSystem;  usingSystem.Net.Sockets;  usingSystem.Net;  usingSystem.Text;  usingSystem.Diagnostics;  usingSystem.Collections;  namespaceIbms.Net.TcpCSFramework  {  ///

  ///网络通讯事件模型委托  ///  publicdelegatevoidNetEvent(objects

2、ender,NetEventArgse);  ///

  ///提供TCP连接服务的服务器类  ///  ///版本:1.1  ///替换版本:1.0  ///  ///特点:  ///1.使用hash表保存所有已连接客户端的状态,收到数据时能实现快速查找.每当  ///有一个新的客户端连接就会产生一个新的会话(Session).该Session代表了客  ///户端对象.  ///2.使用异步的Socket事件作为基础,完成网络通讯功能.  ///3.支持带标记的数据报文格式的识别,以完成大数据报文的传输和适应恶劣的网  ///络

3、环境.初步规定该类支持的最大数据报文为640K(即一个数据包的大小不能大于  ///640K,否则服务器程序会自动删除报文数据,认为是非法数据),防止因为数据报文  ///无限制的增长而倒是服务器崩溃  ///4.通讯格式默认使用Encoding.Default格式这样就可以和以前32位程序的客户端  ///通讯.也可以使用U-16和U-8的的通讯方式进行.可以在该DatagramResolver类的  ///继承类中重载编码和解码函数,自定义加密格式进行通讯.总之确保客户端与服务  ///器端使用相同的通讯格式  ///5.使用C#nativec

4、ode,将来出于效率的考虑可以将C++代码写成的32位dll来代替  ///C#核心代码,但这样做缺乏可移植性,而且是Unsafe代码(该类的C++代码也存在)  ///6.可以限制服务器的最大登陆客户端数目  ///7.比使用TcpListener提供更加精细的控制和更加强大异步数据传输的功能,可作为  ///TcpListener的替代类  ///8.使用异步通讯模式,完全不用担心通讯阻塞和线程问题,无须考虑通讯的细节  ///  ///注意:  ///1.部分的代码由RationalXDE生成,可能与编码规范不符  ///  ///原理:  

5、///  ///  ///使用用法:  ///  ///例子:  ///  ///

  publicclassTcpSvr  {  #region定义字段    ///  ///默认的服务器最大连接客户端端数据  ///  publicconstintDefaultMaxClient=100;  ///  ///接收数据缓冲区大小64K  ///  publicconstintDefaultBufferSize=64*1024;  ///

6、  ///最大数据报文大小  ///

  publicconstintMaxDatagramSize=640*1024;  ///  ///报文解析器  ///  privateDatagramResolver_resolver;  ///  ///通讯格式编码解码器  ///  privateCoder_coder;  ///  ///服务器程序使用的端口  ///  privateushort_port;  ///

7、

  ///服务器程序允许的最大客户端连接数  ///  privateushort_maxClient;  ///  ///服务器的运行状态  ///  privatebool_isRun;  ///  ///接收数据缓冲区  ///  privatebyte[]_recvDataBuffer;  ///  ///服务器使用的异步Socket类,  ///  privateSocket_svrSoc

8、k;  ///

  ///保存所有客户端会话的哈希表  ///  privateHas

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。