我想用udp做个服务器,自己数据验证速度比较慢,我想直接用udp头信息验证直接比较2个长度即可,是否能得到udp头信息,先谢过各位

解决方案 »

  1.   

    你的意思是udp crc checksum?
      

  2.   

    建立一个Raw套接字,可以在你的应用程序上得到连IP头都有的包,别说UDP头了
      

  3.   

    anjuta_c(天天学习不退步) 
    你的意思是udp crc checksum?差不多了,如果udp丢包那么记数器会跳格,如果接收了1半的包,那么udp头的len跟接收的实际长度不一样,这样就可以检测了,现在我是在包里写个长度检测接收长度是否为跟实际长度一样oliver13628()
    建立一个Raw套接字,可以在你的应用程序上得到连IP头都有的包,别说UDP头了这样就成了监听了,我不想多创建个socket,而且如果检测出错,我接收的recv也没办法判断
      

  4.   

    其实用checksum检测也好,反正tcp也用checksum检测的,主要用udp可以不连接就能发数据
      

  5.   

    udp要么接受一整个数据包,要么就丢失了,哪来的接受一半?函数返回就是一个数据包,或者错误
      

  6.   

    anjuta_c(天天学习不退步) 
    udp要么接受一整个数据包,要么就丢失了,哪来的接受一半?函数返回就是一个数据包,或者错误接收缓存满了最后一个包就有可能是一半的包。
    发送如果超过限制大小了也可能光发送前半部分。
    这两种情况就会出现接收大小和udp头大小不一样的情况