iOS如何使用udp连续发送10bit位的数据呢

stonedreamlh 发布于 2014年12月18日
无人欣赏。 1人反对。
初来咋到哈 自己查文档 google无果 故来劳烦各位

我想使用udp broadcast连续发送数据 每次10 比特位 大小 不能直接发送2字节 连续发送所以中间不能有空余的比特位 主要是如何表示这个10bit的数据 然后转化为NSData发送出去 使用GCDAsyncUdpSocket操作

希望给点提示 但愿没耽误大家太多时间

共3条回复
Hector 回复于 2014年12月18日

int 就可以储存 10 bit 。注意下字节序

玉楼 回复于 2014年12月19日

你的想法是不可能实现的。你仔细看看TCP/IP协议就知道了,每一个IP报文头部中记录数据长度都是以字节为单位的,同样,UDP报头中记录数据长度也是以字节为单位的。即,若想实现你的业务应用就只有两种办法:

  1. 每次发送2字节(共16bit),其中10bit为有效位;接收端只处理有效位。这个实时性最好,实现最简单,但网络开销最大。
  2. 如果对数据的实时性要求不高,可以自己实现比特流,然后在发送时以整字节发送,或是满1K字节发送一次。这个实时差,实现起来相对复杂,但网络利用率要好得多了。

你可以根据自己的需要选择一种实现方式。

stonedreamlh 回复于 2014年12月19日

2楼 @玉楼 好的 非常感谢 按照你提供的思路我再好好想想 再次感谢

登录 或者 注册
相关帖子