gpt4 book ai didi

objective-c - iOS - 如何为网络套接字创建读写流?

转载 作者:太空宇宙 更新时间:2023-11-04 03:06:00 25 4
gpt4 key购买 nike

我是 iOS 开发新手。我正在尝试创建一个读写流。我正在使用 CFNetworking 编程指南的示例来尝试让某些东西正常工作。

我正在尝试在运行循环中安排读取流以解决流阻塞问题。我马上就遇到了问题。如何使用 CFHhostCreateWithAddress 创建 CFHost 对象?这是我目前所拥有的:

NSString *address = @"irc.ubuntu.net";
CFDataRef addressDataRef = (CFDataRef)[address dataUsingEncoding:NSASCIIStringEncoding];

CFHostRef host = CFHostCreateWithAddress(kCFAllocatorDefault, addressDataRef);

//Create Read and Write Stream
CFStreamCreatePairWithSocketToCFHost(kCFAllocatorDefault, host, 8008, &readStream, &writeStream);

二线炸弹。有人可以告诉我如何创建 CFHostRef 吗?

非常感谢!

最佳答案

documentation指出 CFHostCreateWithAddress() 的第二个参数必须是“一个包含主机地址的 sockaddr 结构的 CFDataRef 对象。这个值不能为 NULL。”

您正在传递一个表示“irc.ubuntu.net”的 CFDataRef,这绝不是一个 sockaddr 结构。

使用 CFHostCreateWithName:

CFHostRef CFHostCreateWithName (
CFAllocatorRef allocator,
CFStringRef hostname
);

您可能知道,您可以将 NSString * 转换为 CFStringRef,或者使用宏 CFSTR() 创建常量 CFStringRef。

关于objective-c - iOS - 如何为网络套接字创建读写流?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5137659/

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