gpt4 book ai didi

ios - ios7 多点连接消息发送失败

转载 作者:行者123 更新时间:2023-11-29 02:17:47 25 4
gpt4 key购买 nike

我想使用 Multipeer Connectivity Framework 制作一个 GroupChat 应用程序。首先,我通过这段代码初始化 session

self.peerID =[[MCPeerID alloc] initWithDisplayName:[UIDevice currentDevice].name];
self.session = [[MCSession alloc] initWithPeer:self.peerID];
self.session.delegate =self;

然后我尝试通过以下代码向所有连接的对等设备发送消息。

NSData *data = [message dataUsingEncoding:NSUTF8StringEncoding];

if (![self.session sendData:data
toPeers:@[self.remotePeers]
withMode:MCSessionSendDataReliable
error:&error]) {
NSLog(@"[Error] %@", error);
}

但是这给出了以下错误

 Error Domain=MCSession Code=1 "Peers (
(
"iPhone Simulator"
)
) not connected" UserInfo=0x155e0cc0 {NSLocalizedDescription=Peers (
(
"iPhone Simulator"
)
) not connected}

这里的“iPhone Simulator”是附近的peerDevice。请帮我。谢谢。

最佳答案

您应该为 MCSession 实现委托(delegate)方法

#pragma mark - MCSessionDelegate

- (void)session:(MCSession *)session peer:(MCPeerID *)peerID didChangeState:(MCSessionState)state {
NSLog(@"client: status changed to %d for server: %@", state, peerID.displayName);

switch (state) {
case MCSessionStateNotConnected: {

[self.servers removeServerItemByPeedID:peerID];
[self notifyDidChangeServers];
}
break;
case MCSessionStateConnected: {

if ([self checkPeerIsServer:peerID]) {
ServerItem *item = [[ServerItem alloc] initWithPeerID:peerID];
[self.servers singleAddServerItem:item];
[self notifyDidChangeServers];
} else {
NSLog(@" Connected Client");
}
}
break;
default:
break;
}
NSLog(@"connectedPeers %@", self.session.connectedPeers);
}

- (void)session:(MCSession *)session didReceiveData:(NSData *)data fromPeer:(MCPeerID *)peerID {
NSLog(@"client: received data (len = %lu) from server %@",(unsigned long)[data length], peerID.displayName);

//handle receive data
}

- (void) session:(MCSession*)session didReceiveCertificate:(NSArray*)certificate fromPeer:(MCPeerID*)peerID certificateHandler:(void (^)(BOOL accept))certificateHandler {
certificateHandler(YES);
}

请告诉我结果

关于ios - ios7 多点连接消息发送失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28554928/

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