/// <summary> /// 创建一个TCP客户端类,确认模式和设置流大小 /// </summary> /// <param name="bufferSize">包大小枚举</param> /// <param name="OnlyData">是否启动框架模式</param> /// <param name="DataLength">每次包的最大大小(警告:请务必保证客户端的大小和客户端一致)</param> /// <param name="IsReconnect">是否在与服务器断开后主动重连? </param> public TcpClientAsync(TcpBufferSize bufferSize, bool OnlyData, int DataLength, bool IsReconnect) { if (DataLength < 8 * 1024) { throw new ArgumentException("DataLength 值必须大于8KB!", nameof(DataLength)); } if (DataLength > 1024 * 1024 * 20) { throw new ArgumentException("DataLength 值必须是在20M(DataLength < 1024 * 1024 * 20)以内!", nameof(DataLength)); } this.BufferSize = bufferSize; if (TcpBufferSize.Default == this.BufferSize) { client = new TcpClient(AddressFamily.InterNetwork); } else { client = new TcpClient(AddressFamily.InterNetwork) { ReceiveBufferSize = (int)this.BufferSize, SendBufferSize = (int)this.BufferSize }; } this.DataLength = DataLength; this.OnlyData = OnlyData; this.IsReconnect = IsReconnect; }
/// <summary> /// 创建一个TCP客户端类,设置流大小 /// </summary> /// <param name="bufferSize">包大小枚举</param> /// <param name="DataLength">每次包的最大大小(警告:请务必保证客户端的大小和客户端一致)</param> public TcpClientAsync(TcpBufferSize bufferSize, int DataLength) : this(bufferSize, false, DataLength) { }
/// <summary> /// 创建一个TCP客户端类,确认模式和设置流大小 /// </summary> /// <param name="bufferSize">包大小枚举</param> /// <param name="OnlyData">是否启动框架模式</param> /// <param name="DataLength">每次包的最大大小(警告:请务必保证客户端的大小和客户端一致)</param> public TcpClientAsync(TcpBufferSize bufferSize, bool OnlyData, int DataLength) : this(bufferSize, OnlyData, DataLength, false) { }
/// <summary> /// 创建一个TCP客户端类,确认模式和设置流大小 /// </summary> /// <param name="bufferSize">包大小枚举</param> public TcpClientAsync(TcpBufferSize bufferSize) : this(bufferSize, 1024 * 8) { }