我要传送一个固定4字节的信息长度,但它又不够字节,如何转换成网络固定字节进行传输呢?
如 int MsgLength =123,现要把其转为 char MsgContent[4],进行传输。
   send(s,MsgContent,strlen(MsgContent),0),其中strlen(MsgContent)必须等于4
  本人刚开始接触网络编程,请哪位老大赐教?

解决方案 »

  1.   

    int MsgLength =123;
    char *pBuf = (char*)&MsgLength;
    send(s,pBuf,4,0);
      

  2.   

    strlen(MsgContent)就是等于4
    如果你要发送MsgLength,可以直接用send(s,&MsgLength,strlen(MsgLength),0);
      

  3.   

    谢谢前面几位,如果我现在想再增加4个字节,且大小int nAddLength=456,就相当于我一次发送8个连续字节,前4个字节的大小为123,后四个字节的大小为456,这该怎么处理呢?
      

  4.   

    char SendBuf[1024];
    int nAddLength = 123;
    memcpy(SendBuf, &nAddLength, sizeof(int));
    nAddLenght = 456;
    memcpy(SendBuf + sizeoof(int), &nAddLength, sizeof(int));
    send(s, SendBuf, 2 * sizeof(int), 0);