c/s 不同版本之间的兼容

zhlicen 2013-05-22 04:57:58
请问一下,c/s不同版本之间的兼容一般是怎么实现的
比如QQ2008版本可以和2013年服务器进行正常消息交互

服务器和客户端版本不同,怎么设计网络消息才能达到兼容
...全文
182 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
showjim 2013-05-23
  • 打赏
  • 举报
回复
引用 8 楼 zhlicen 的回复:
数据转换程序?适配操作? 把新的数据转换为当前终端的所需的数据类型?
适配操作,不过不是当前终端(客户端),而是当前调用接口(服务器端)。
zhlicen 2013-05-23
  • 打赏
  • 举报
回复
引用 7 楼 sbwwkmyd 的回复:
[quote=引用 5 楼 SocketUpEx 的回复:]说烦也烦啊 服务端上很多命令都有几个版本处理起来很乱 不知道有什么好方法控制
一次版本升级只需要提供一次数据转换程序,一般来说这个程序都是必不可少的。 而客户端“向后兼容”本质就是在客户端提供数据转换程序,不如服务器端处理简单直接。[/quote] 数据转换程序?适配操作? 把新的数据转换为当前终端的所需的数据类型?
showjim 2013-05-23
  • 打赏
  • 举报
回复
引用 5 楼 SocketUpEx 的回复:
说烦也烦啊 服务端上很多命令都有几个版本处理起来很乱 不知道有什么好方法控制
一次版本升级只需要提供一次数据转换程序,一般来说这个程序都是必不可少的。 而客户端“向后兼容”本质就是在客户端提供数据转换程序,不如服务器端处理简单直接。
threenewbee 2013-05-22
  • 打赏
  • 举报
回复
将你的协议设计成“向后兼容”的。 比如高版本和低版本共享数据结构,并且高版本对低版本的做出扩充,使得低版本的程序也可以对它能够识别的数据进行处理。
SocketUpEx 2013-05-22
  • 打赏
  • 举报
回复
说简单也简单 1.在Head上加个Ver,先解析Head得到Ver,再根据Ver处理 2.直接使用新的命令号 说烦也烦啊 服务端上很多命令都有几个版本处理起来很乱 不知道有什么好方法控制
足球中国 2013-05-22
  • 打赏
  • 举报
回复
真正的cs程序。server端与client端都自己开发的。 到你升级的时间自然就会有办法。 当然前期的架构就要考虑到兼容性的问题。
showjim 2013-05-22
  • 打赏
  • 举报
回复
调用接口,只增加,不修改
gomoku 2013-05-22
  • 打赏
  • 举报
回复
最常见的是在消息结构里面包含一个版本信息。
爱在今世 2013-05-22
  • 打赏
  • 举报
回复
这个好像和兼容没什么关系吧?只要我发送的是特定模式的字符串,你接收的也是这种类型。这样和你的程序版本没有关系啊

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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