我想把一个windows消息发出去
消息格式为UINT Msg,      
WPARAM wParam,
LPARAM lParam但是这些数据都是数字型的,
是不是得转换成字符串发出去,
对方收到了,还得再转换成数字
好像太麻烦了
请问大家具体都怎么做得,
谢谢

解决方案 »

  1.   

    转换成字符发送出去是一种办法。
    但也可以直接发送,注意字节顺序就可以了。网络上传输整数一般按照高字节在前的顺序。比如:
    UINT Msg;      
    WPARAM wParam;
    LPARAM lParam;UINT netMsg = htonl(Msg);
    WPARAM netWParam = htonl(wParam);
    LPARAM netLParam = htonl(lParam);char buf[128];
    int offset = 0;
    memset(buf, 0, sizeof(buf));memcpy(buf + offset, &netMsg, sizeof(netMsg));
    offset += sizeof(netMsg);
    memcpy(buf + offset, &netWParam, sizeof(netWParam));
    offset += sizeof(netWParam);
    memcpy(buf + offset, &netLParam, sizeof(netLParam));
    offset += sizeof(netLParam);
    send(sock, buf, offset, 0);