在 Iphone SDK 上接收带有异步 Udp 套接字的 UPS 包时出现问题

Posted

技术标签:

【中文标题】在 Iphone SDK 上接收带有异步 Udp 套接字的 UPS 包时出现问题【英文标题】:Problems receiving UPD Package with AsyncUdpSocket on Iphone SDK 【发布时间】:2010-12-02 10:54:20 【问题描述】:

我有一个小应用程序来测试 iPhone 上的套接字处理,我使用 AsyncSocket/AsyncUdpSocket 库。

打开套接字并发送不是问题,但接收是。

//Called when state is received
- (BOOL)onUdpSocket:(AsyncUdpSocket *)sock didReceiveData:(NSData *)data withTag:(long)tag fromHost:(NSString *)host port:(UInt16)port

    NSLog(@"Incoming data");

    [sock receiveWithTimeout:-1 tag:0];
    return YES;

正如我所说,我什么也没得到,但问题是,该方法是否仅在 upd 包完成时才被调用?包裹需要如何结束?零字节?

谢谢

【问题讨论】:

【参考方案1】:

您应该在发送数据包后调用接收方法(我认为有一个正超时)。收到响应后,将调用委托方法,然后您可以处理接收到的数据。

-拉利兹

【讨论】:

以上是关于在 Iphone SDK 上接收带有异步 Udp 套接字的 UPS 包时出现问题的主要内容,如果未能解决你的问题,请参考以下文章

无法使用/ AsyncUdp Socket 在 Iphone 上接收 UDP 数据包

iPhone SDK 是不是限制 udp 广播?

带有分页 iphone sdk 的 ScrollView

C# UDP Socket:获取接收者地址

在 xcode 4.3 上添加 iphone sdk 6.1

如何在 Raspberry Pi 上使用 C++ 将接收到的 UDP 音频数据正确写入 ALSA