PP聊天工具.pptVIP

  1. 1、本文档共26页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
PP聊天工具

P2P聊天工具 问题描述-1 P2P技术概要 点对点传输技术; 无需经过服务器; P2P更加符合分布式计算的理念; BT下载工具是P2P的典型应用之一; 问题描述-2 界面和和实现的功能说明 问题分析 难点解析-1 如何实现侦听 单独开辟一个线程进行侦听,以避免操作阻塞 侦听的方法运行在线程上; 使用TcpListener.Start; 循环、持续检测输入缓冲的是否有信息,读到后解码; 难点解析-1 参考代码: Ls= new TcpListener (1010); Ls.Start(); SocketOfLs = Ls.AcceptSocket(); while (true) { Byte[] streamofaccept = new Byte[80] ; int i = SocketOfLs.Receive(streamofaccept); MessageOfAccept = System.Text.Encoding.UTF8.GetString (streamofaccept); } 难点解析-2 如何把类中侦听到的字符随时传递给窗体控件 在类中定义委托和事件; 侦听到消息后,触发事件; 在窗体中的Form_Load方法中创建对象、订购事件; 在事件被触发时,读取类中的字符信息,写到列表 框中; 难点解析-2 参考代码: //定义事件 public delegate void DelgMsgListened(); public event DelgMsgListened OnMsgListened; //事件在侦听到字符消息时候被触发 OnMsgListened(); //在窗体中预定事件 MyP2P = new P2P(); MyP2P.OnMsgListened+=new P2P.DelgMsgListened(MyP2P_OnMsgListened); 难点解析-3 如何发送数据 获得传送数据的数据流; 在数据流上定义StreamWriter对象; StreamWriter对象写字符信息到流中; reqStreamW.Flush( ); 难点解析-3 参考代码: 建立连接时: tcpStream = tcpClientPere.GetStream ( ); 发送消息时: reqStreamW = new StreamWriter(tcpStream); reqStreamW.Write (sMsg); //sMsg是发送字符串 reqStreamW.Flush ( ) ; 阶段划分 第一阶段(30分钟):设计完成界面 (教员提供界面所需要的图片,学员完成界面设计) 第二阶段(40分钟):实现侦听功能 (编码实现远程机的侦听,并显示侦听消息的功能) 第三阶段(20分钟):实现连接功能 (编码实现本机与远程机的连接功能) 第四阶段(30分钟):实现发送消息的功能 (编码实现本机向远程机发送字符消息并显示的功能) 第五阶段(10分钟):运行和调试 (释放资源) (为程序增加退出的功能) (运行程序,完善代码) 第一阶段 第一阶段(30分钟):设计完成界面 窗体界面无边框,显示在屏幕中间; 连接、断开、退出、发送消息以及登录,使用的都是图片 来代替按钮功能; 中间的齿轮图片是登录按钮,左下的圆圈是发送消息按钮; 中间的大块区域使用ListBox控件显示聊天信息列表,下方 的多行文本框可以输入要发送的聊天信息; 聊天消息使用ListBox来显示; 要求学员自己动手编码,在编码的过程中解答学员提出  的问题 阶段检查 针对第一阶段检查学员的阶段结果 教员进行辅导 第二阶段 第二阶段(40分钟):实现侦听功能 定义类、导入必要的名称空间; 定义委托和事件; 在类中编写方法,实现侦听,并在侦听到消息时触发事件; 编写方法,创建线程,在线程上运行侦听的方法; 在Form_Load中: 创建类的对象-预订对象事件-调用线程方法进行侦听; 在窗体中进行类事件的编码,把侦听到的消息显示在列表框; 要求学员自己动手编码,在编码的过程中解答学员提出的  问题 阶段检查 针对第二阶段检查学员的阶段结果 教员答疑和点评 第二阶段标准代码演示 第三阶段 第三阶段(20分钟):实现连接功能 定义TCPClient对象; 在类中编写连接的方法; 在窗体的”连接”按钮事件中调用方法; 要求学员自己动手编码,在编码的过程中解答学员提出的  问题 阶段检查 针对第三阶段检查学员的阶段结果 教员答疑和点评 第三阶段标准代码演示 第四阶段 第四阶段(30分钟):实现发送消息的功能 在类中编写发送消息的方法; 在窗体中调用方法,并显示发送的消息到列表框

文档评论(0)

118books + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档