C#:一个增强的TcpClient(五)构造函数
来源:互联网 发布:东莞光速网络 编辑:程序博客网 时间:2024/05/15 06:41
/* ----------------------------------------------------------文件名称:TcpClientPlus.cs作者:秦建辉MSN:splashcn@msn.comQQ: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.02012年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#:一个增强的TcpClient(五)构造函数
- C#:一个增强的TcpClient(一)连接
- C#:一个增强的TcpClient(二)写入
- C#:一个增强的TcpClient(三)读取
- C#:一个增强的TcpClient(四)查询
- C#:一个增强的TcpClient(六)数据加密
- C#:一个增强的TcpClient(七)独立通信线程
- C#:一个增强的NetworkStream(一)构造函数
- C#:一个增强的TcpListener(一)构造函数
- C#:一个增强的TcpListener(一)构造函数
- C#:一个增强的TcpClient(*)客户端演示程序及源代码下载
- C#TCPClient应用-一个简单的消息发送和接收
- tcpclient.c
- 一个C++拷贝构造函数的例子
- C#:一个增强的NetworkStream(二)写入
- C#:一个增强的NetworkStream(三)读取
- C#:一个增强的NetworkStream(四)数据加密
- C#:一个增强的TcpListener(二)线程池
- union和struct的大小计算
- 网站SEO的合理化建议
- sscanf的用法
- 线程相对于进程的优势
- ORA-28001: the password has expired .
- C#:一个增强的TcpClient(五)构造函数
- 为什么delegate 用 assign 而不使用 retain
- vi 常用命令 快捷键
- LPSTR,LPCTSTR,CString,Char *
- 【VC++】在查找预编译头使用时跳过解决(转)
- 查询效率调优
- 求ax^2+bx+c=0的根
- Store Kit Guide(In App Purchase)翻译 已完结
- java基础视频25days(毕老师)学习日志(day14、day15、day16)