hanxuexuehx 2015-06-14 02:26 采纳率: 100%
浏览 2292
已采纳

C# socket接收单片机数据问题

单片机通过wifi将采集到传感器的数据传至上位机,单片机是每一秒发送一组数据,如“0xaa,0x55,‘采集到的数据1’,‘采集到的数据2’”
问:怎样才能接收数据并判断第一个是“0xaa“并且第二位是”0x55“时候将”采集到的数据1“和”采集到的数据2“拿出来并整合合,下一秒也是这样循环下去,我现在只能做到接收数据。
private byte[] m_receiveBuffer = new byte[1024];
sock.BeginReceive(m_receiveBuffer, 0, m_receiveBuffer.Length, 0, new AsyncCallback(ReceiveCallBack), null);
private void ReceiveCallBack(IAsyncResult ar)
{
try
{
int REnd = sock.EndReceive(ar);

                string strReceiveData = m_receiveBuffer[0].ToString("X2");
                this.HandleMessage(strReceiveData);
                sock.BeginReceive(m_receiveBuffer, 0, m_receiveBuffer.Length, 0, new AsyncCallback(ReceiveCallBack), null);

        }
        catch (Exception ex)
        {
            throw new Exception(ex.Message);
        }
            }       

private void HandleMessage(string message)
{
message = message.Replace("\0", "");
if (!string.IsNullOrEmpty(message))
{
label6.Text = message;
}

    }   
  • 写回答

5条回答 默认 最新

  • hanxuexuehx 2015-06-15 07:04
    关注

    已解决,不过还需要优化,比如延时问题

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

悬赏问题

  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
  • ¥15 perl MISA分析p3_in脚本出错
  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误
  • ¥199 rust编程架构设计的方案 有偿
  • ¥15 回答4f系统的像差计算
  • ¥15 java如何提取出pdf里的文字?