我现在在作一个医院的  神经监护仪中央站项目, 要求实现  多台监护仪  与中央站的实时数据传输,即在中央站显示 监护仪上的 数据,结构体 示例 如下:
  struct {
             int  EcgValue;
             int  EegValue;
             Char Alarm;
             CString str;
             int  Wave[3][20];
          };
请问如何将  监护仪上上述的结构体转换为字符流  向中央站 实现实时传输?如何打包?我采用的CSocket类.

解决方案 »

  1.   

    结构的指针和长度知道后用send可以直接发送
    接受方可把收到的数据直接转换为这个结构啊
    你需要在发送方和接受方加入约定 告诉接受方这是一个结构的数据
      

  2.   

    to huanyun(无妻徒刑) :   针对 上述给出的示例  能给出 send  代码吗?你的意思是不用转换为字符流了?
     
      
      

  3.   

    发送端:
    -------------------------------------------------------
    struct ST_HISTORY
    {
                 int  EcgValue;
                 int  EegValue;
                 Char Alarm;
                 CString str;
                 int  Wave[3][20];
    };ST_HISTORY stHistory;
    char szSend[MAX_LENGTH] = {0};
    memcpy(szSend, &stHistory, sizeof(stHistory));
    send(socket, szSend, strlen(szSend), 0);接收端:
    ------------------------------------------------------------
    char szRecv[MAX_LENGTH] = {0};
    int nRecv = recv(socket, szRecv, MAX_LENGTH, 0);
    szRecv[nRecv] = '\0';
    ST_HISTORY stHistory;
    memcpy(&stHistory, szRecv, sizeof(stHistory));
      

  4.   

    直接传送和接收结构体
    struct tagStruct{
    //
    }SendStruct;
    send(socketID,(char*)&SendStruct,sizeof(SendStruct),0);  struct tagStruct{
    //
    }RcevStruct;
    recv(socketID,(char*)&RecvStruct,sizeof(RecvStruct),0);
      

  5.   

    谢谢你们的支持,在未发现更好的方法之前 我决定采用 Siw(浪中沙) 所介绍的了.为让更多GGJJDDMM参与,暂不结帖(楼上几位都将有分),继续关注中............................