“飞鸽传书”项目规划与总结.docVIP

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

队名:天河二号 口号:流血流汗不流泪,掉皮掉肉不掉队 项目规划与总结 一、 项目实现目标 二、项目流程分析 本项目主要是实现一个终端版本的飞鸽,在项目中只要是3个线程来处理所有的任务,通过主线程来获取键盘输入的命令,通过创建一个线程来读取udp发送过来的信息。再创建一个线程,用于TCP等待被连接来传送文件数据。在整个项目的流程当中,我们组第一步是实现广播信息,下一步是实现或许在线用户信息,加入链表,如果用户下线,进行相应的处理;下一步是搭建框架,通过提示帮助信息来完成帮助信息里面的功能,框架结构安装提示信息来;框架可以了以后,下一步是发送和接受消息;接下来就是文件的传送了。具体框架流程见附件。 三、 项目日程规划 本项目自 2011 年 12 月 6 日 至 2011 年 12 月 9 日 , 共4天时间。具体日程安排如下: 12月6日: 完成用户上下线,用户链表的维护. 12月7日: 完成消息的收发,开始做文件接收. 12月8日: 完成文件接收,开始做文件发送. 12月9日: 完成文件发送及相关文档. 四、 总结与展望 本次项目实践中,本组成员基本上都完成了项目基本功能。通过这个项目队网络有了一个比较深刻的理解。同时在项目过程当中,对编程有了更加深刻的理解。对于编程,对字符串处理方面、文件的操作等方面得到了进一步的提高,为我们以后的编程打下了坚实的基础。同时对前一段时间的学习有进行了一次复习。 五、组员在项目过程中遇到的问题和解决的方法以及感想 队员 问题与感想 彬彬 1、在处理“clear”命令时,有多种方法可以实现 分别是: pid = vfork(); execl(/usr/bin/clear,clear,NULL); perror(execl); system(clear); //清空整个屏幕,保留历史。 system(reset); //有延时、重新初始化屏幕,没有历史记录。 printf(\033[0;0H \033[2J \033[0m hello\n); fflush(stdout); write(1,\033[2J,4); //清屏 write(1,\033[0;0H,6); //将光标定位在左上角 2、在获取键盘输入的时候采用递归函数的写法来处理命令 思路的调整,使用结构体来处理命令 3、组包 Sprintf %lx 4、色彩的处理 \033[31m[%s]:\033[32m%s\033[0m\n,cliIP,rev_buf); 5、团队合作 在和组员交流的项目同时,多交流思想,和学习的方法,多问一个为什么。 李克 总结: 对线程的消亡一定要否则会造成子线程还没执行就结束 运用链表还从在一定不得心应手,造成一遍遍去查看链表的正确性。 杨迪 遇到的问题: 概念不清晰,基础知识不牢 急躁,心态不平静 犯细节的错误,浪费了大量时间解bug,比如分文件 IPMSG命令字不会使用 收获: 做工作之前应该理顺思路,争取做一步对一步。 出现段错误用printf检测 及时保存做过的,正确的程序,以防文件因意外情况丢失 将常用文件放在方便处,提高工作效率 东志 1主函数 传参的应用: 为主函数传参 main 函数本身运行时 算一个参数所以 给argc 传参时 要从2开始算 argc2表示 没有给主函数传参;argc表示给主函数传参数的个数,argv[]是一个指针数组 指向argv的每一个 参数 从1开始 因为argv【0】指向main。 2(版本号):%ld(包编号):%s(用户名):%s(机器名):ld(命令字):%s(附加消息} 解析IP inet_ntop(AF_INET,recvaddr.sin_addr,recvIP,sizeof(recvIP)); 3 类型转换 字符串 变成 整形 atoi(*arg)参数为数组或 指针 4。bind 要在 socket之后 5.删除链表的时候要先 pf-》next= pb-》next 6.头文件 用到哪个包含哪个 include。h中包含一些公共头文件 7 尽量不要用连等 8。 while 循环中 调用函数时, 所调用的函数每次被调用 都会重新定义所调用的 函数中所定义的函数 致使变量值每次调用时都会被初始化。 全局变量时 函数不需要返回头指针。 成源 1 ,开始做项目是一定要有答题的框架,大体的思路, 一定要分文件。 2,对数据包的解析时,要注意对ssancf和sprintf的使用, 要 熟悉掌握。 3,对消息的发送和接收是要注意套接字的绑定,有的要绑 定,有的不需要,定义数组和变

文档评论(0)

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

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

1亿VIP精品文档

相关文档