UDP发包是发送结构体,还是buf?局域网里面UDP广播发包,我可以定义一个结构体
struct ListData
{
char[4096] buf;
int length;
};然后直接发送这个结构体,接受端一个结构体转换即可.还可以,发送buf,然后在接收端根据报文解析包.那一种方法比较好呢?或者说我这种情况用什么方法好?

解决方案 »

  1.   

    我个人觉得,结构体更好些,只是你 的结构定义有问题
    应该是
    struct ListData
    {
      int length;
      char buf[4096];};
    这样,在接收时才能先得到长度
      

  2.   

    大小最好控制在一个UDP包大小之内,好像是1500左右
      

  3.   

    无论你是发什么,最后估计都是以BUFFER发出去的。
      

  4.   

    UDP自动实现包分界,不会出现粘连现象,所以,结构体长度都可以不要,直接是一个缓冲区,当然缓冲区内容可以就是一个结构体,建议前面字节用来表明结构体类型,比如1个字节(256类型,够多了),接收方收到就可以分支处理。局域网内4k不算大,所谓1500限制基本上都是针对有公网参与。