新浪微博 有道云笔记 麦库 EverNote Pocket Instapaper 更多

蓝牙连接

蓝牙连接


技术博客http://www.cnblogs.com/ChenYilong/ 
新浪微博http://weibo.com/luohanchenyilong 









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


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



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



蓝牙对等网络演练--发送照片(2)

• 发送数据方法
[_peerSessionsendDataToAllPeers:datawithDataMode:GKSendDataReliable error:&error];!
• 接收数据方法!
- (void)receiveData:(NSData *)data fromPeer: (NSString *)peer inSession: (GKSession *)session context:(void *)context; 



蓝牙对等网络--发送自定义对象 
• 如果要通过网络发送自定义对象,需要使用NSKeyedArchiver方法归档
自定义对象,然后再发送归档后的NSData
• 自定义对象需要遵从NSCoding协议,并实现相应的归档和恢复方法 • 接收端接收到数据之后,使用NSKeyedUnarchiver方法恢复数据

© chenyilong. Powered by Postach.io
posted @ 2014-03-07 22:29  iTeaTime(技术清谈)  阅读(476)  评论(0编辑  收藏  举报