初学C#,因为项目需要写的一个理论上不会断帧Tcp帮助类
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net.Sockets;
using System.Text;
using System.Threading;
using System.Windows;
namespace FM000023.Helper
{
class TcpHelper
{
private string ip;
private int port;
//声明委托
public delegate void DateReceiveDelegate(TcpHelper sender,byte[] data);
public delegate void ConnectDelegate(TcpHelper sender);
public delegate void SendDelegate(SendResult sendResult);
/// <summary>
/// 数据接收事件
/// </summary>
public event DateReceiveDelegate DataReceive;
/// <summary>
/// 连接成功事件
/// </summary>
public event ConnectDelegate ConnectSuccess;
/// <summary>
/// 连接失败事件
/// </summary>
public event ConnectDelegate ConnectFailed;
/// <summary>
/// 发送成功完成事件
/// </summary>
public event SendDelegate SendDone;
/// <summary>
/// 循环读取串口数据线程
/// </summary>
private Thread readSpDataThread;
/// <summary>
/// 工具类识别标识
/// </summary>
public string name = "";
private TcpClient tcpClient = new TcpClient();
/// <summary>
/// 构造函数
/// </summary>
/// <param name="ip">ip</param>
/// <param name="port">port</param>
public TcpHelper(string ip,int port)
{
this.ip = ip;
this.port = port;
tcpClient.BeginConnect(ip, port,new AsyncCallback(connectDone),tcpClient);
}
/// <summary>
/// 连接完成
/// </summary>
/// <param name="ar"></param>
private void connectDone(IAsyncResult ar)
{
t