- 博客(0)
- 资源 (3)
- 收藏
- 关注
Socket通信
实现Socket通信。
/// <summary>
/// 网络通讯事件模型委托
/// </summary>
public delegate void NetEvent(object sender, NetEventArgs e);
/// <summary>
/// 提供TCP连接服务的服务器类
///
/// 版本: 1.1
/// 替换版本: 1.0
///
/// 特点:
/// 1.使用hash表保存所有已连接客户端的状态,收到数据时能实现快速查找.每当
/// 有一个新的客户端连接就会产生一个新的会话(Session).该Session代表了客
/// 户端对象.
/// 2.使用异步的Socket事件作为基础,完成网络通讯功能.
/// 3.支持带标记的数据报文格式的识别,以完成大数据报文的传输和适应恶劣的网
/// 络环境.初步规定该类支持的最大数据报文为640K(即一个数据包的大小不能大于
/// 640K,否则服务器程序会自动删除报文数据,认为是非法数据),防止因为数据报文
/// 无限制的增长而导致服务器崩溃
/// 4.通讯格式默认使用Encoding.Default格式这样就可以和以前32位程序的客户端
/// 通讯.也可以使用U-16和U-8的的通讯方式进行.可以在该DatagramResolver类的
/// 继承类中重载编码和解码函数,自定义加密格式进行通讯.总之确保客户端与服务
/// 器端使用相同的通讯格式
/// 5.使用C# native code,将来出于效率的考虑可以将C++代码写成的32位dll来代替
/// C#核心代码, 但这样做缺乏可移植性,而且是Unsafe代码(该类的C++代码也存在)
/// 6.可以限制服务器的最大登陆客户端数目
/// 7.比使用TcpListener提供更加精细的控制和更加强大异步数据传输的功能,可作为
/// TcpListener的替代类
/// 8.使用异步通讯模式,完全不用担心通讯阻塞和线程问题,无须考虑通讯的细节
///
2014-01-20
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人