我现在用的是线程sleep 发送少量的还可以 象这样
            System.Threading.Thread.Sleep(10);
            SendBuffer[0] = TAG_CMD;
            SendBuffer[1] = 0x05;
            SendBuffer[2] = CMD_GET_PARAM_VALUE;
            SendBuffer[3] = (byte)(0x00);
            SendBuffer[4] = (byte)(checksum(4));
            this.serialPort1.Write(SendBuffer, 0, SendBuffer[1]);            System.Threading.Thread.Sleep(10);
            SendBuffer[0] = TAG_CMD;
            SendBuffer[1] = 0x05;
            SendBuffer[2] = CMD_GET_PARAM_VALUE;
            SendBuffer[3] = (byte)(0x02);
            SendBuffer[4] = (byte)(checksum(4));
            this.serialPort1.Write(SendBuffer, 0, SendBuffer[1]);现在假如有1000组数组要发送 这种方法就难以实现了
我现在想做成象复制大文件时在传数据时会有个进度条的效果 progressbar我知道
请问这种方法是什么方法来间隔开各组数组发送的  

解决方案 »

  1.   

    假如你需要发送一个大文件,
    使用文件流,每次1024个字节读取到字节数组中,
    然后循环发送就可以了。
    在循环方法中每次Sleep一下
    如果要实现进度条效果,
    可以在发送前先进行计算,总共有多少个数据包,
    每发送一个数据包就更新一下进度条的值就可以了
      

  2.   

    标准的com通信都一个大数据包是拆包连续发送,包每次保证在 4096 或者 2048 个字节