gpt4 book ai didi

c - Xcode中如何使用C语言处理网络包

转载 作者:太空宇宙 更新时间:2023-11-03 23:55:47 26 4
gpt4 key购买 nike

我刚拿到一个 WIFI 摄像头。我需要开发一个 iPad 应用程序来向这个相机发送 url 请求,然后在 iPad 中播放 mpeg4 流媒体。

收到请求后,此相机将网络数据包发送回 iPad。在每个数据包的开头,它包含 8 位无符号字符,表示该数据包的类型,例如视频或音频。

NSData是16bit格式的,如何获取前8bit unsigned char并识别出这个数据包的类型?

我想我走错了路。我应该关注数据包层,找出如何使用C语言来处理网络数据包。但是,我现在的C语言不太好。谁能告诉我如何使用 C 来控制网络数据包。

最佳答案

如果您使用的是 NSData 对象,则可以使用 bytes 方法检索指向 NSData 内容的指针。

此方法返回一个 void 指针。您可以将其分配给任何您想要的。

例如:

unsigned char * x = [ myDataObject bytes ];

将允许您逐字节(8 位)读取 NSData 内容,因为您有一个 char 指针。

x[ 0 ] 将是第一个字节,x[ 1 ] 是第二个字节,依此类推

如果你使用其他类型,你会得到不同的结果。例如:

unsigned short int * x = [ myDataObject bytes ];

假设 unsigned short int 在您的平台上是 16 位(它可能不同),然后您将以 16 位访问 NSData 内容。

在最后一个例子中,x[0] 将是前 16 位,等等...

指针运算也是一样。

关于c - Xcode中如何使用C语言处理网络包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8132136/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com