NGOD client 完成感想

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的时候,收不到回复的数据,最后,还真是一点点的找到了问题的所在,所以调试发现错误的过程一定是沉着冷静的过程。

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

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

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值