关键看你有多少种数据,如果多当然是第3种方法最好,如果少还是用1,2吧
解决方案 »
- 核心编程上API挂钩的简单问题~高分请教
- VB能与VC的DLL函数之间传递数组参数吗?
- 接受教育、散尽家财!!
- 100求助,为什么XP下提升用户权限的函数在2000下不起作用?
- Access数据库能不能远程访问?
- 急, RGB 怎么转换成 YV12(YUV 4:2:0)?
- 关于窗口移动的问题 大虾进来看看!
- timesetevent和SetWaitableTimer的优缺点?
- 我用PostMessage(hw,WM_CLOSE,0,0)能关闭另一个程序,但是用PostMessage(hw,WM_KEYDOWN,VK_NEXT,0)却没有反应。
- 请看进来!谢谢。。
- 请教一个关于CListCtrl的问题???
- 乱码问题,大家帮忙看一看,up也有分啊!
方案二与方案三差不多吧,比方案一要好一点,关键是在你以后增加一个新的数据类型后,不用去改动原有的程序。只要增加新的处理函数或类就行了。这些方案对只有一个用户及一个后台处理程序时有效。如果有多个用户的话,结构就需要调整了。
很多的时候,开始时说项目不大,可后来...即使项目不大,也难说以后不会增加新的数据类型。就目前而言,三种实现方法的工作量应该差不多。同样的工作量,为什么不用一个扩充性好的结构呢?
既然使用了类,就不应该使用方案二了。在方案三中,可以将接收和发送部分放在基类中。然后根据不同的数据类型派生出相应的子类。
我觉得问题的关键是中间处理部分跟前台及后台的接口是不是清晰。
如果比较清晰的话,只要根据不同的功能号从请求包中取不同的字段,从应答包中取需要的字段就ok了。
srdata()应该是通用的吧,可以把压包解包都做在这里面吧。
另外,如果吞吐量比较大,需要响应的比较快的话,建议做成多线程的。