第十五章:多人游戏.ppt

  1. 1、本文档共33页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
gameServerConnection.delegate nil; isFullyConnected NO; - void dealloc self.gameServerConnection nil; [super dealloc]; @end 分析:在"startWithConnection:playerName:"方法中,首先用Connection对象和玩家名称对控制器进行初始化。为了让服务器正确地维护参与者列表,每个客户端在连接时都要自我介绍。因此,我们约定在发送的第一条信息中要包含" handshake"键,将其值设置为玩家的名称。 另外在实现游戏的服务器中,请学生自动动手参考本书,编写服务器代码和功能的实现(提供源码参考)。 实现通信 第十五章:多人游戏 中锐教育研究院 学习目标 创建连接 套接字服务器 实现游戏客户端 连接对象和流对象的简介 一个连接就是一个对象,允许我们通过网络和其他参与者进行双向数据交换。 通过套接字和其他实体之间的配对,使用的技术就是流,一个流就是一个对象,而这个对象可以单方向地传输数据,确保从一端发送的数据能够在另一端按照相同地输入顺序输出。 流有两种流: 一种是:可以从输入流读取数据(NSInputStream)。 一种是:可以向输出流写入数据(NSOutputStream)。 在iOS开发中,要想实现双向数据的交换,则需要一个输入流和一个输出流。 以下是用于传输流的Connection.h文件。 #import @class Connection; @protocol ConnectionDelegate - void connectionClosed: Connection* connection; @end @interface Connection : NSObject 连接对象和流对象的简介 NSInputStream *inputStream; NSMutableData *incomingDataBuffer; int nextMessageSize; BOOL outputStreamWasOpened; NSOutputStream *outputStream; NSMutableData *outgoingDataBuffer; id delegate; id userInfo; @property nonatomic, retain NSInputStream *inputStream; @property nonatomic, retain NSOutputStream *outputStream; @property nonatomic, retain id delegate; @property nonatomic, retain id userInfo; - id initWithNativeSocketHandle: CFSocketNativeHandle nativeSocketHandle; - id initWithInputStream: NSInputStream* istr outputStream: NSOutputStream* ostr; - BOOL connect; - void close; @end 文件流分为5个部分:初始化、关闭和清理、读取数据、写入数据以及处理流事件。 连接初始化 以下是Connection.m文件的初始化部分: ? #import "Connection.h" #import @implementation Connection @synthesize delegate, userInfo; @synthesize inputStream, outputStream; - id initWithNativeSocketHandle: CFSocketNativeHandle nativeSocketHandle CFReadStreamRef readStream; CFWriteStreamRef writeStream; CFStreamCreatePairWithSocket kCFAllocatorDefault, nativeSocketHandle, &readStream, &writeStream ; self.inputStream NSInputStream* readStream; self.outputStream NSOutputStream* writeStream; return self; 连接初始化

文档评论(0)

boss + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档