您的位置:首页 > 其它

蓝牙通讯

2015-08-11 21:21 204 查看
使用GameKit框架,可以在游戏中增加对等连接,又称对端连接或点对点连接,Peer
To Peer。
使用GameKit框架中的对等网络连接API,可以在游戏玩家之间建立一个对等网络,并在游戏/应用实例之间交换数据。
GameKit框架可以使用蓝牙在玩家之间创建网络,玩家甚至不需要连接到互联网,就可以彼此对战。

1. 为玩家双方呈现一个GKPeerPickerController,提供了一个标准的用户界面连接两台设备
2. ViewControoler遵循GKPeerPickerControllerDelegate协议,处理来自GKPeerPickerController(对端选择器)的信息
3. 建立连接后,使用GKSession类可以向对端设备发送数据
4. 在receiveData:fromPeer:inSession:context代理方法中编写代码来处理接收到的数据

演练目标:通过蓝牙彼此发送照片
演练步骤:
1. 基于照片选择项目进行扩展,仅从照片库选择照片
2. 添加GameKit框架
3. 创建对等连接
3.1 实例化对端选择器
3.2 设置代理,并遵循协议
3.3 显示对端选择器
4. 连接建立代理方法
peerPickerController:didConnectPeer:toSession:
4.1记录对端连接会话
4.2 设置数据接收处理
4.3 关闭对端选择器

发送数据方法
[_peerSession
sendDataToAllPeers:data withDataMode:GKSendDataReliable
error:&error];

接收数据方法
- (void)receiveData:(NSData *)data fromPeer:(NSString *)peer inSession: (GKSession *)session context:(void *)context;

如果要通过网络发送自定义对象,需要使用NSKeyedArchiver方法归档自定义对象,然后再发送归档后的NSData
自定义对象需要遵从NSCoding协议,并实现相应的归档和恢复方法
接收端接收到数据之后,使用NSKeyedUnarchiver方法恢复数据
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: