想交流下程序中分支很多的情况下怎么处理好

libai 2011-09-24 10:05:23
现在有个UDP的协议模块,里面的协议的30多个.难道我只能在程序里面一个解析然后if()else if() 或是switch() case这样跳吗.
...全文
111 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
ex_dijkstra 2011-09-27
  • 打赏
  • 举报
回复
马克...
qingfeng029 2011-09-27
  • 打赏
  • 举报
回复
mark
yueliang5836 2011-09-27
  • 打赏
  • 举报
回复
学习一下
McMong 2011-09-25
  • 打赏
  • 举报
回复
学习,一上来写代码很容易错,浪费时间,还是需要有清晰的流程
qq120848369 2011-09-25
  • 打赏
  • 举报
回复
做一个map<协议号,处理函数指针>的映射,接包后先解析包头,然后根据协议号找到对应的handle函数处理整个包包。
小坏猪猪 2011-09-24
  • 打赏
  • 举报
回复
[Quote=引用楼主 li880wert 的回复:]
现在有个UDP的协议模块,里面的协议的30多个.难道我只能在程序里面一个解析然后if()else if() 或是switch() case这样跳吗.
[/Quote]

你可以抽出30个协议中的公共模块,然后采用遍历的方法实现
AnYidan 2011-09-24
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 w170532934 的回复:]
推荐去看下WireShark源码,那里面有协议树的处理
[/Quote]

借鉴别人的,多思考,具体问题具体分析
libai 2011-09-24
  • 打赏
  • 举报
回复
WireShark源码,这是什么东西,可以谈谈你的想法呀
libai 2011-09-24
  • 打赏
  • 举报
回复
公司小啊,没有人带,什么都是自己弄的,写的项目代码从来没有设计文档。上来直接就是几个同事谈下架构,就开始写了,我觉得现在就是少了思想的碰撞,少了有经验的人带,什么东西都自己着磨。哎,公司小没办法,全公司就四个程序员,呵呵。
W170532934 2011-09-24
  • 打赏
  • 举报
回复
推荐去看下WireShark源码,那里面有协议树的处理
AndyZhang 2011-09-24
  • 打赏
  • 举报
回复
好好学习架构方面的东西啦
taodm 2011-09-24
  • 打赏
  • 举报
回复
去看《重构:改善既有代码的设计》
didijiji 2011-09-24
  • 打赏
  • 举报
回复
switch更为直观。
沭水河畔 2011-09-24
  • 打赏
  • 举报
回复
大概想起來,數組,查表,還有函數指針。
零度空间0520 2011-09-24
  • 打赏
  • 举报
回复
进来学习来的/

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧