小弟最近在写一个IP多播程序,发送的数据有文字,还有一些16进制的指令。请问我该如何组织这些数据来发送出去。我的理解在接收端接收的是一块二进制数据,如何在接收端析取 发送过来的文字用于显示,16进制的指令用于程序的执行。请大家指导一下,给个思路,或者建议。谢谢了

解决方案 »

  1.   

    SOCKET WSAJoinLeaf( SOCKET s, const struct sockaddr FAR *name, int namelen, LPWSABUF lpCallerData, LPWSABUF lpCalleeData, LPQOS lpSQOS, LPQOS lpGQOS, DWORD dwFlags );第一个参数s代表一个套接字句柄
    SOCKADDR(套接字地址)结构
    第三个参数namelen(名字长度)是用于指定name参数的长度
    lpCallerData(呼叫者数据)
    参数lpCalleeData(被叫者数据)
    利用这个函数就免得你自己构造了,希望对你有用!
      

  2.   

    谢谢你的指点,我构造了一个结构体 typedef struct 
    {
       char say[50];     
       char fname;   
       char lname;   
       int  flag;       
       int info[400];  
       int check;       
    }MSG;
    把所有需要发送的数据都封装进去了,这样发送行吗?是不是一次发送的大小有限制?最大一次能发多大的数据包啊
      

  3.   

    WSAJionLeaf加入多播,sendto发送数据内容。