如何在iPhone中使用UDP协议传输图像



我尝试使用GCDAsyncUdpPacket.m和.h文件来创建udp通信通道。但是通过它,我只能发送一行消息。我需要发送整个文件,例如图像。

任何帮助将不胜感激,因为我是这个平台的新手。

由于 UDP 不是错误检查协议,因此仅将二进制数据塞入 UDP 套接字是不可靠的,因为某些数据包可能会被丢弃,或者在远端无序到达。

如果要确保数据经过错误检查、有序且可靠,请打开 TCP 套接字并以这种方式发送。

在IOS中,你可以使用NSStream类来做到这一点,尽管你必须查看很多示例代码来理解它在iPhone应用程序中的各种使用方式。 要很好地实现它,您需要了解运行循环的工作原理(NSRunLoop)以及委派在Cocoa中的工作原理。

对我来说,我倾向于避免所有这些,并在单独的NSThread上启动网络任务,使用unix的socket(),connect()和send()原语打开TCP套接字。 一旦你让这些工作,它们可以被剪切并粘贴到其他代码中(或放入个人代码库中),这样你就不必记住如何做。:-)

BSD原语socket(),accept(),bind(),connect(),send()和recv()有很多示例代码。

最新更新