服务器端的程序要实现跨平台,准备参考Apache来编写。
客户端为智能手机,平台有wince,linux,iPhone等等
应用层准备采用UDP来开发
这些都没什么问题,但是因为是采用UDP,需要加上Qos质量保证,说白了就是
1 保证数据正确性
2 控制速度避免阻塞
问题出在这里,如何实现这2个功能呢?我有2种思路
(1): 参考TCP来自己实现类似QoS的功能。
(2):当然就是实现QoS了,我目前只看到winsock有QoS的实现方法,我不知道这些函数是否能跨平台。
另外客户端是手机,这些函数好像不支持,光服务器实现QoS客户端没有QoS貌似不行吧?我对winsocks实现QoS不是很清楚。麻烦大家给点意见。
另外我的2种思路是否都可以实现我需要的2个功能,也就是他们是否是对等的?
客户端为智能手机,平台有wince,linux,iPhone等等
应用层准备采用UDP来开发
这些都没什么问题,但是因为是采用UDP,需要加上Qos质量保证,说白了就是
1 保证数据正确性
2 控制速度避免阻塞
问题出在这里,如何实现这2个功能呢?我有2种思路
(1): 参考TCP来自己实现类似QoS的功能。
(2):当然就是实现QoS了,我目前只看到winsock有QoS的实现方法,我不知道这些函数是否能跨平台。
另外客户端是手机,这些函数好像不支持,光服务器实现QoS客户端没有QoS貌似不行吧?我对winsocks实现QoS不是很清楚。麻烦大家给点意见。
另外我的2种思路是否都可以实现我需要的2个功能,也就是他们是否是对等的?
解决方案 »
- VC++(VOIP)各位高人帮忙啊``
- 如何实现象QQ一样的捉屏程序?
- 二位数组的问题
- *借人气问一下*:为什么我在自己BLOG文章中插入到文章中的图片无法显示??
- 如何才能获得一个进程的句柄数?
- 着急!!请大家帮助!!我想将基于对话框的一个程序中的控件分页显示,发现vc中标签控件很复杂,有无简单的办法?
- 在控件中如何响应鼠标消息?
- MFC实现图片格式转换的小问题
- 位运算的速度比普通运算快多少?
- 我现在在写一个自动升级的程序,想请教一下各位高人如何获得应用程序旧的版本号?
- 求解两三维向量的夹角计算
- WNDCLASSEX.lpfnWndProc回调函数,其参数lParam和wParam是从哪里来的?
你的思路2我个人感觉好像跨平台支持的不是很好(我也不清楚,呵呵),如果用思路1的话跨平台应该没问题。
我也没做过QoS编程,就不多言,请有经验的人来解答吧
改造一下还是比较简单的
QOS没用过
1. 可靠的数据传输
2. 服务器端可以执行限速功能如果仅仅是需要做到这两点的话,大可以不必自己去实现QoS,只是为UDP增加一些传输保障和限速机制就可以,比较简单,也有很多现成的案例可以参考。如果你只是在windows平台还能稍微好些,可以直接使用微软实现的GQoS来编程,但是你有这么多跨平台的需求,实现QoS是个不太现实的事情,而且确实是需要客户端和服务器端都需要支持才可以的
那么请问2个问题,就结贴。
1 嵌入式手持设备系统 例如 wince linux iphone 支持 QoS吗? 我看的好像wince不支持。(15分)
2 windows下的GQoS好像只能实现RSVP的QoS,一般都用这种吗? (15分)
3 其他平台利用什么函数来实现QoS?例如linux (50分)
答:你提到的这几个操作系统,都是支持QoS的,其实QoS对于我们程序员来讲,只是一种保证网络服务质量的一种思想,一种框架,而具体如何去实现这个思想,还是需要靠我们自己编程来实现的(当然也可以直接使用别人已经编好的组件)。
2 windows下的GQoS好像只能实现RSVP的QoS,一般都用这种吗?
答:GQoS只是微软在Windows系统中对于QoS的一种理解和实现,提供了可以方便开发人员使用的编程接口,而且只能使用在Win98 - win7这一系列PC操作系统,wince是不能使用GQoS的。3 其他平台利用什么函数来实现QoS?例如linux (50分)
答:如前面所述,QoS并非是有现成的函数,几步就可以实现的,而是利用普通的网络开发接口函数去实现自己的算法和细想,想要实现一个比较完善的QoS机制,还是非常复杂和有难度的
你可以参考一下developerworks上的这篇文章,大体理解一下实现QoS的方式Linux 2.4.x 网络协议栈QoS模块(TC)的设计与实现
http://www.ibm.com/developerworks/cn/linux/kernel/l-qos/