---------------------------------精选公文范文--------------------------
能够进行协议分析,掌握Linux开发环境,熟悉常用的命令,了解makefile写法,编写程序并调试。 来到IPTV组之后,我开始学习网络协议相关的知识,岳工给我们每个人都发了TCP/IP协议族相关的书籍,让我们学习了解。一开始看TCP/IP协议有些看不懂,于是我就找来了大学时候的计算机网络教材配合着一起来看,一边看一边做笔记。除了看书,我开始熟悉抓包工具Wireshark的使用,并进行初步实践。
随着学习的深入,我慢慢地熟悉了Wireshark的使用,按照要求,通过Wireshark的抓包分析,进行各种常用的网络协议的分析,完成分析文档(包括传输层及以下各种协议的各个字段在抓包工具中的体现,rtsp协议流程,http协议流程等)。
接下来,我开始学习Linux下C语言编程的相关知识。首先,我先在虚拟机上安装了Fedora8,今后的程序的编写----------------精选公文范文----------------
6
---------------------------------精选公文范文--------------------------
调试都在这上面完成。第一个任务是编写程序,读取Linux系统proc目录下相关文件,打印显示系统信息,包括cpu信息,内存使用信息,网络统计信息等。 对于这个任务,开始的时候感觉不是很难,就是简单对文件信息进行读取, 然后打印到屏幕上。可是写完之后才发现考虑的过于简单,文件信息读取完成之后,还需要对信息进行解析,分类存储,需要显示哪一类信息就显示哪一类信息。在对任务进一步理解了之后,我将程序改写,将文件信息分类存储到数组中,最终完成任务。第一个月结束,通过学习和完成任务,我熟悉了网络协议,掌握了常用的网络工具。
第二个月主要是了解http协议相关内容熟悉html,javascript,css等web开发内容。熟悉socket网络编程。通过debug信息收集,了解工程架构,播放器流程。
经过了第一个月的学习,我开始慢慢进入状态。按照学习计划,我找来了----------------精选公文范文----------------
7
---------------------------------精选公文范文--------------------------
许多html,javascript,socket编程等相关资料来学习。与此同时,我又开始了下一个任务,在之前的读取系统信息程序基础之上,将其添加到CGI中,制作简单的web页面,将这些系统信息显示到web页面上,做成本地配置的一项功能。 看到这个任务我才明白上个月写的程序为什么要分类地存储,因为在这个任务中,需要将读取的信息通过CGI发送到htm页面中显示。对于CGI,我只前并没有接触过,又是新的知识,继续学习。我一边看资料一边读代码,慢慢地可以一点点把程序写出来了。在这个过程中,也遇到过问题,比如说在使用CGI连接HTM的时候,始终连接不上。当时我一直在看代码哪里有问题,可是怎么看也看不出来。后来,我索性把所有代码都注释掉,只留下fprintf函数,然后一点点去掉注释,一段一段的跑。最后我终于发现了问题所在,是一个while循环里的判断条件EOF貌似机顶盒不识别,进入了死循环。查阅资料后,----------------精选公文范文----------------
8
---------------------------------精选公文范文--------------------------
将其替换为具有相同功能的feof(),解决了问题。解决了问题我很高兴,同时也懂得了要想进步就必须有着刨根问底的决心。
完成了这个任务之后,开始下一个任务,编写socket网络程序,在机顶盒中实现debug信息收集,传送到电脑客户端。这个任务主要是针对socket编程,之前接触过,再巩固了一下知识后,写出了这个server端程序。接着,再机顶盒内调试,结果又出现了问题。调试的时候server端始终不能与windows下的ZTE客户端连接。于是我就用Wireshark进行抓包分析,发现我写的server端是基于TCP协议的,而ZTE客户端是基于UDP协议的。于是,我就把server端重新写成基于UDP协议的,问题解决。 至此两个月过去了,经过几个任务,我了解了浏览器、本地配置,熟悉了网络编程,了解了播放器基本流程。我开始做IPTV框架内的任务。 首先是分析rtp队列,在节目播放过----------------精选公文范文----------------
9
---------------------------------精选公文范文--------------------------
程中实时显示当前节目流量统计,截获 rtsp数据包,显示rtsp当前状态。这个任务是mplayer和browser相关联的任务,我一边对这两个模块进行熟悉理解,一边进行任务。
对于rtp流量显示,我在mplayer模块中的UDP数据接收部分添加一个计数变量,用来统计接收到的数据包的数量。在mplayer中算出每秒钟接收的数据包数量,然后将其通过消息发送到browser模块。在browser模块中的消息处理部分添加对流量数据消息的处理,在屏幕画图部分新初始化一个surface,用于显示流量信息。调用hi_graphic_draw_rect()函数以mplayer传递过来的参数画出流量图。在流量图画满一个surface之后调用hi_graphic_clear_surface()函数进行清除,从头再开始画。
在这之中,遇到了一些问题,比如说完成mplayer与browser通信之后,发现mplayer发送的数据一次只能在browser上显示一次,下一次的数据发送----------------精选公文范文----------------
10