gpt4 book ai didi

objective-c - 从 MCSession 断开单个对等体?

转载 作者:搜寻专家 更新时间:2023-10-30 20:09:05 25 4
gpt4 key购买 nike

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

我看到一个类似问题的回复说你只能断开“你自己”与 session 的连接:这意味着在上述情况下,如果我这样做:

[mySession disconnect];

我同时将“a”与“b”、“c”和“d”断开连接。所以建议是向您想要断开连接的对等方(“c”)发送通知,并告诉它从 session 中断开连接。

但是,我也看到了这一点,想知道它是否能满足我的要求——只删除特定的对等点:

[mySession.connectedPeers[0] disconnect];

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

或者还有另一种可能更好的方法来删除特定的对等点吗?

最佳答案

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

MCSession *p1 = a->b
MCSession *p2 = a->c
MCSession *p3 = a->d

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

[p2 disconnect]; // release the session
p2 = nil; // release the resource

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

p2 = (MCSession *)[array objectAtIndex:1];
[p2 disconnect];
[array removeObjectAtIndex:1];

关于objective-c - 从 MCSession 断开单个对等体?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23435754/

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