- 1、本文档共33页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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; 连接初始化
您可能关注的文档
- 第十八章 移动电气1.ppt
- 第十八章 分子标记辅助选择育种.ppt
- 第十八章___止血药.ppt
- 第十单元 课题1-5 酸的通性 和第十单元 课题2-1 中和反应【2012人教版】.ppt
- 第十单元 课题1-6等酸的分类和命名第十单元 课题2-2酸碱度-pH【2012人教版】.pptx
- 第十二_简单国民收入决定理论.ppt
- 第十二讲 一次函数.docx
- 第十二讲 焊接化学成分的不均匀性.ppt
- 第十二讲激励原理 (NXPowerLite).ppt
- 第十二课《探索生命起源之谜》.ppt
- 第12课 我们小点儿声 课件 二年级道德与法治上册(部编版).ppt
- 11.2我从哪里来(教学课件)二年级道德与法治下册(统编版).ppt
- 第10课 我们不乱扔 课件 二年级道德与法治上册(部编版).ppt
- 1.3过好我们的课余生活 课件五年级道德与法治上册(部编版).ppt
- 第四单元《法律保护我们健康成长》大单元整体学程设计道德与法治六年级上册统编版.pdf
- 第十一课:多姿多彩的民间艺术(分层练习)四年级道法下册 部编版.pdf
- 第八课:大家的“朋友”(分层练习)三年级道法下册 部编版.pdf
- 第5课 我爱我们班 课件 二年级道德与法治上册(部编版).ppt
- 第二单元 我们是公民 大单元整体学程设计道德与法治六年级上册统编版.pdf
- 人教部编版二年级语文下册第五单元单元教学课件.ppt
文档评论(0)