首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Asyncsocket:没有本地或远程地址

Asyncsocket:没有本地或远程地址
EN

Stack Overflow用户
提问于 2012-06-01 01:07:15
回答 1查看 376关注 0票数 0

我正在尝试建立一个到本地服务器的TCP连接,因为几乎每个人都同意Asyncsocket是可行的方法,所以我也选择了它。但是,我在最基本的级别遇到了问题: Asyncsocket实例没有本地或远程地址。我没有太多的代码,但我有以下代码:

代码语言:javascript
复制
- (void)viewDidLoad {

    [super viewDidLoad];

    AsyncSocket *socket = [[AsyncSocket alloc] initWithDelegate:self];

    [socket connectToHost:@"www.google.com" onPort:80 error:nil];
}

- (BOOL)onSocketWillConnect:(AsyncSocket *)sock {

    NSLog(@"%@", sock);
    return YES;
}

- (void)onSocket:(AsyncSocket *)sock didConnectToHost:(NSString *)host port:(UInt16)port {

    NSLog(@"%@", host);
}

以下内容显示在控制台中(从onSocketWillConnect中的NSLog ):

AsyncSocket 0x298de0本地无处不在远程无处排队0读取0写入,无当前读取,无当前写入,读取流0x299720未打开,写入流0x299aa0未打开,未连接

它说“无处可寻”,当然它应该有IP地址,但它没有。从网上的例子看,我的代码看起来很好,但当我在两台电脑和我的手机上运行时,我得到了“无处可去”的东西,所以我可能做错了什么。有谁有主意吗?

谢谢!

编辑:为了澄清:如果我使用错误报告(通过将一个NSError实例传递给"connectToHost:onPort: error“并对其执行NSLogging操作),我得到的结果只有(null)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-06-01 09:40:31

哇,这太尴尬了。我需要创建一个ivar来存储AsyncSocket,因为如果没有它,它就会在viewDidLoad完成后超出范围,这就是为什么我的onSocket:didConnectToHost:port没有被调用的原因。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10838094

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档