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条)

报告相同问题?

悬赏问题

  • ¥15 QTableWidget重绘程序崩溃
  • ¥15 51寻迹小车定点寻迹
  • ¥15 谁能帮我看看这拒稿理由啥意思啊阿啊
  • ¥15 关于vue2中methods使用call修改this指向的问题
  • ¥15 idea自动补全键位冲突
  • ¥15 请教一下写代码,代码好难
  • ¥15 iis10中如何阻止别人网站重定向到我的网站
  • ¥15 滑块验证码移动速度不一致问题
  • ¥15 Utunbu中vscode下cern root工作台中写的程序root的头文件无法包含
  • ¥15 麒麟V10桌面版SP1如何配置bonding