zoukankan      html  css  js  c++  java
  • 通过TCP传送结构体的问题

    这个问题在其他博客中已经给出了解决方案,这里结合自己的Demo说一下。

    函数调用的库文件是基于TCP协议的封装,在传送消息体的时候,发送消息结果大体如下;

    XXXXPost(srcid, EVENT,(void *) Massage, sizeof( Massage), ......); //类似于socket变成中的send()函数

    由于TCP协议发送信息采用流传递,显然,需要讲结构体转换为字符串流。下面是我的用法:

    发送端:

    TMsg T_msg_accept;//TMsg 是结构体
    strcpy(T_msg_accept.m_msg, "You've connected the server
     !");
    T_msg_accept.m_flag = TRUE;
    XXXXPost(pMsg->srcid, FT_EVENT_C_PRCSS_RPLY_C2S, &T_msg_accept, sizeof(T_msg_accept),......);//注意到并没有在&T_msg_accept前加(void *)

    接收端:

    TMsg T_msg_req;
    memset(&T_msg_req,0,sizeof(T_msg_req));
    memcpy(&T_msg_req,(TMsg*)pMsg->content,sizeof(T_msg_req));

    其核心用法与博客(参考链接)完全一致。

    结束。

  • 相关阅读:
    STM32寄存器的简介、地址查找,与直接操作寄存器
    SPI初始化寄存器配置
    docker 命令
    SpringBoot接口格式和规范
    算法
    RabbitMQ
    UML概念
    activeMQ和JMS
    设计模式七大原则
    redis缓存
  • 原文地址:https://www.cnblogs.com/gardenofhu/p/7040682.html
Copyright © 2011-2022 走看看