NGOD client 完成感想

原创 2012年03月28日 21:41:58

NGOD client 完成感想

    今天是实习的第五天,终于把client完成了,中间遇到了很多问题,本来昨天中午就完成了,但是代码还有点问题,只能勉强完成功能,后来加了一个随机数,出现了问题,后来再怎么弄也没弄成功,就这样,弄了一天,终于大功告成。

    现在想想做client的过程,做完了感觉其实很简单的。但是前期不明白要做什么,对流程的不熟悉耽误了我很多时间,幸好有同事的及时交流。

    做client要从socket开始,从创建socket,连接服务器,向服务器发送数据,基本就是这个流程。但是发送的数据包(一大堆的字符串)要经过封装,刚开始用char *,后来用了string,把一大串的字符串经过相加,得到最后封装过的字符串。

    视频点播的流程大概是这样的:第一步:客户端发送setup消息,然后接收到服务器回复的消息;第二步:客户端发送play消息点播,收到服务器的回复消息;第三步:在客户端用视频播放软件收看一段时间;第四步:播放一段时间后,释放会话。

    我做的流程大概是这样的:

    在main()函数里面向服务端发送数据,在main()函数里面,创建socket,连接服务器之后,创建了一个线程,在这个线程中用个while(1)死循环不停的接收客户端发送的数据。向服务器发送setup消息后,我在main()函数中让其sleep()几秒钟;然后开始发送play消息,发送完之后,再让其sleep()一段时间(这个时间用于播放视频);最后,发送release消息,收到release回复的消息。在while死循环中,当recv的返回值为0的时候,输出“正常关闭连接”,然后用break跳出循环。

    总结:其中用到了基本的socket编程,用到了基本的多线程,对于字符串的封装用到了string类。

    在写代码的过程中很快,但是慢的地方在于出现了错误的时候,这个调试找错误真是麻烦,一方面是自己没用linuxKDevelop调试工具,每当出现错误的时候都是用cout进行输出。另一方面是自己对linux环境太不熟悉了。

    代码中出现了错误,有的时候一个小小的错误使得我弄了半天,今天本来把代码都弄好了,没问题了,后来为了再优化下,不小心删除了一段字符串,导致最后在release的时候,收不到回复的数据,最后,还真是一点点的找到了问题的所在,所以调试发现错误的过程一定是沉着冷静的过程。

    我也不知道做这个东西我做的是慢还是快,不过都是自己一步步做过来的,我想也只有自己一步步做才会成长吧。

    公司下班后,没几个人了,过几天我得开始写毕设了,毕竟这也是个大事,写博客估计也没什么时间了,但是有时间的时候就写点东西,我想总算是好的。偌大的大厅,没几个人,听着机子嗡嗡的声音,倒也感觉挺惬意的。反正住的地方距离公司挺近的,回去也没事,在公司呆着总比回去要强的多。

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

就业感言:从培训完成到就业的一些小小的感想和经验

来源:华清远见嵌入式培训上海分中心              学员姓名:忻子舒   所在班级:上海1111期班   ...

Comcast SP NGOD GEN ARCH

  • 2014-02-18 17:35
  • 1.20MB
  • 下载

读《硝烟中的scrum和xp》的心得,疑问,感想 (一)

《硝烟中的scrum和xp》作者简介: henrik kniberg 一看名字就知道是老外,一名咨询师,不错的一位前辈,干过很事情,也做过很多工作,看相片是一个乐观的人。 说说为什么要选这一本书来先...

NGOD CDN comcast

  • 2011-01-26 17:12
  • 1.20MB
  • 下载

对Davinci平台开发的一些感想

经过十个月的努力,终于成功在DM365上实现了两路D1+两路CIF的H264编码,在DM368上实现了四路D1+四路CIF的H264编码。在整个开发过程中,有愤怒,有无奈,也有喜悦,聊记下一点粗浅的看...

【iOS-Cocos2d(2.x) 游戏开发之一】自定义CCSprite中-(id) init 重写需注意& 2.x版本中注册触屏事件代码&简述cocos2d/x/Unity3D引擎使用感想!

本站文章均为 李华明Himi 原创,转载务必在明显处注明:转载自【黑米GameDev街区】 原文链接: http://www.himigame.com/iphone-cocos2d-v2/736.ht...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)