C#:一个增强的TcpClient(五)构造函数
2012-03-27 16:07
771 查看
/* ---------------------------------------------------------- 文件名称:TcpClientPlus.cs 作者:秦建辉 MSN:splashcn@msn.com QQ:36748897 博客:http://blog.csdn.net/jhqin 开发环境: Visual Studio V2010 .NET Framework 4 Client Profile 版本历史: V1.4 2012年04月24日 提供独立的通信线程 V1.3 2012年04月19日 提供AES 256位数据加密传输功能 V1.2 2012年03月30日 在流头部增加字节长度信息以方便读写 V1.1 2012年03月27日 增加异步读写,改进软件架构 V1.0 2012年03月16日 实现TcpClient的异步连接(基于同事赵小亮的代码优化) 调用顺序: 1.实例化,视需要分别设置ConnectTimeout、ReadTimeout、WriteTimeout字段 2.如果未连接,则调用AsyncConnect建立连接 3.如果传输加密,设置SecretKey和Salt 4.重复调用ThreadTaskAllocation分发通信任务 5.调用Close关闭连接 ------------------------------------------------------------ */ using System; using System.Net; using System.Net.Sockets; namespace Splash.Net.Sockets { /// <summary> /// 构造函数和析构函数 /// </summary> public partial class TcpClientPlus : TcpClient { /// <summary> /// 构造函数 /// </summary> public TcpClientPlus() : base() { } /// <summary> /// 构造函数 /// </summary> /// <param name="family">IP地址的地址族</param> public TcpClientPlus(AddressFamily family) : base(family) { } /// <summary> /// 构造函数 /// </summary> /// <param name="localEP">将网络端点表示为 IP 地址和端口号</param> public TcpClientPlus(IPEndPoint localEP) : base(localEP) { } /// <summary> /// 构造函数 /// </summary> /// <param name="address">主机名或者IP地址</param> /// <param name="port">端口号</param> public TcpClientPlus(String address, Int32 port) : base() { // 判断address是主机名还是IP地址 try { // IPv4 使用以点分隔的四部分表示法,IPv6 使用冒号十六进制表示法 IPAddress ip = IPAddress.Parse(address); // 远程主机由IP地址和端口号指定 Connect(ip, port); } catch (FormatException) { // 远程主机由主机名和端口号指定 Connect(address, port); } } /// <summary> /// 释放资源 /// </summary> /// <param name="disposing"> /// true:释放托管资源和非托管资源 /// false:仅释放非托管资源 /// </param> protected override void Dispose(bool disposing) { // 终止独立的通信线程 ThreadTaskAbort(); // 关闭加密传输模块 SecurityClose(); // 调用基类函数释放资源 base.Dispose(disposing); } /// <summary> /// 析构函数 /// </summary> ~TcpClientPlus() { // 仅释放非托管资源 Dispose(false); } } }
相关文章推荐
- C#:一个增强的TcpListener(一)构造函数
- C#:一个增强的TcpClient(六)数据加密
- C#:一个增强的TcpListener(一)构造函数
- C#:一个增强的TcpClient(三)读取
- C#:一个增强的TcpClient(*)客户端演示程序及源代码下载
- C#:一个增强的TcpClient(四)查询
- C#:一个增强的TcpListener(*)服务器演示程序及源代码下载
- C#:一个增强的TcpListener(二)线程池
- C#TCPClient应用-一个简单的消息发送和接收
- C#TCPClient应用-一个简单的消息发送和接收 (转)
- C#TCPClient应用-一个简单的消息发送和接收
- C#TCPClient应用-一个简单的消息发送和接收
- C#:一个增强的TcpListener(二)线程池
- C# Socket TcpClient 无法从传输连接中读取数据: 远程主机强迫关闭了一个现有的连接。。
- C#:一个增强的TcpListener(*)服务器演示程序及源代码下载
- C#:一个增强的NetworkStream(一)构造函数
- 一个TCP连接池的自我修养-如mysql-client、http-client、redis-client
- c#制作一个TCP/UDP测试工具
- C# TcpClient网络编程传输文件
- c# tcpclient