首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将单个对等点与MCSession断开吗?

将单个对等点与MCSession断开吗?
EN

Stack Overflow用户
提问于 2014-05-02 19:41:16
回答 1查看 1.6K关注 0票数 3

如果我有一个连接的对等点数组,假设3 (a->b,a->c,a->d),我只想断开对等点"c“,我应该做什么?

我看到了对类似问题的一个答复,即您只能将“您自己”与会话断开:这意味着在上述场景中,如果我这样做的话:

代码语言:javascript
复制
[mySession disconnect];

我把"a“和"b”、"c“和"d”同时断开。因此,建议发送一个通知给您想要断开连接的对等方("c"),并告诉它断开与会话的连接。

然而,我也看到了这一点,并且怀疑它是否做了我所要求的--只删除了特定的对等点:

代码语言:javascript
复制
[mySession.connectedPeers[0] disconnect];

编辑:我刚刚意识到这是一个只读属性,所以忽略这个部分。

或者还有另外一种,或许更好的方法来去除特定的同行?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-05-03 04:26:01

每个对等连接都由MCSession的一个实例表示.因此,在您的示例中,您将有3个指向MCSession对象的唯一指针:

代码语言:javascript
复制
MCSession *p1 = a->b
MCSession *p2 = a->c
MCSession *p3 = a->d

因此,要断开对等点c,您将:

代码语言:javascript
复制
[p2 disconnect]; // release the session
p2 = nil; // release the resource

当然,您可以将会话存储在可变数组中,然后执行相同的逻辑,但是可以使用数组中的指针。

代码语言:javascript
复制
p2 = (MCSession *)[array objectAtIndex:1];
[p2 disconnect];
[array removeObjectAtIndex:1];
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23435754

复制
相关文章

相似问题

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