这个Bug该客户端改还是服务端改

zz962 2015-04-20 10:44:50
服务器上有个配置文件,客户端会下载使用,由于里面多了空格和回车,所以会导致客户端出错。

我是负责客户端的,我认为应该由服务端改。首先bug是服务端造成的,谁造成的问题谁解决是常识,其次,问题应该在上游解决而不是下游。

而服务端认为应该在客户端容错,我很难理解。这个配置文件是明文,我根本防不住用户的胡乱修改,最多给服务端的错误擦屁股而已。

请各位发表一下看法
...全文
472 40 打赏 收藏 转发到动态 举报
写回复
用AI写文章
40 条回复
切换为时间正序
请发表友善的回复…
发表回复
zz962 2015-06-04
  • 打赏
  • 举报
回复
引用 36 楼 jm77341991 的回复:
服务器改 否则bug永久存在
是的,我也是这个看法。 其实客户端可改可不改,但明显是服务端的一个bug,却不改,这叫怎么回事? 我就整个问题直接问过主管好几次,他都避而不答。所以我已经离开了这个团队。
zz962 2015-06-04
  • 打赏
  • 举报
回复
引用 37 楼 Saleayas 的回复:
客户端修改。不管服务器是否正确,你都不应该崩溃。 你可以报告配置文件不正确。 如果,你们你一个项目组的,那么项目主管会要求服务器端修改,因为这样就简化了编程。 如果不是,那么你修改是肯定的。
客户端不会崩溃,只是因为要拿配置文件里的内容去拼URL,空格回车的存在导致URL不正确。 你说的准确报错是有道理的。
zz962 2015-06-04
  • 打赏
  • 举报
回复
谢谢各位,我已经离开了这个团队。
Saleayas 2015-05-04
  • 打赏
  • 举报
回复
客户端修改。不管服务器是否正确,你都不应该崩溃。 你可以报告配置文件不正确。 如果,你们你一个项目组的,那么项目主管会要求服务器端修改,因为这样就简化了编程。 如果不是,那么你修改是肯定的。
jm77341991 2015-05-02
  • 打赏
  • 举报
回复
服务器改 否则bug永久存在
wushuang443 2015-04-30
  • 打赏
  • 举报
回复
其实吧看了下,有几点要说下,当然不针对楼主,不要误会,第一:楼主跟那个做服务端的肯定关系不是 很好或者沟通合作不愉快过,请问有没有?第二:这个问题其实你说双方协议也好,从程序设计的角度看,容错处理也好,都有理由,无非就是楼主坚持自己的见解,应该是服务端那边去改,对不对?本人非常理解楼主的心态,说实话,我作为一个程序员,也经常碰到这样的鸟事,这种情况,有时候也是很火,但是无论从人际角度看,还是自身程序设计容错设计看,自己都会去处理,有时候你放开自己的心胸,不要把这些事当做一回事就行。人生不如意的地方确实很多,不爽的地方很多,但是我们又能咋样,笑笑而过或许可以很好解决。
yaozhiyong110 2015-04-30
  • 打赏
  • 举报
回复
1.楼主心态先放好 首先有没有规定服务器过来的数据严格按照什么格式? 有的话 这个问题服务器肯定要改 如果可以不改参考第3条 2.如果没严格定义格式 那么不管服务器改不改 作为客户端你都需要自己去容错 既然是别人传给你的数据 你就要做到基本的容错 3.最终改不改 其实取决于谁主导谁的问题 说白了就是谁当爷谁当孙子的问题 是做孙子的角色那就别闲干孙子的事辛苦
zz962 2015-04-25
  • 打赏
  • 举报
回复
有可能这代码就是你们的主管写的 --------------------- 是他很亲近的一个下属写的。
Sandrer 2015-04-25
  • 打赏
  • 举报
回复
引用 31 楼 zz962 的回复:
[quote=引用 30 楼 Sandrer 的回复:] 这是两方面的事情, 就好比微软的系统老是不停的打补丁, 因为它有错 但你使用微软提供给你的api, 你不可能光靠它帮你打补丁就万事大吉了 你还得用 try...catch 来捕捉错误, 还有判断函数的返回值来得知函数执行是否成功, 不是吗? 如果开发服务端的工程人员是和你同一个公司, 那么你就去跟项目主管反应问题, 让项目主管来觉得, 何必自己找烦恼? 如果是第三方公司开发, 那你就天天给电话他让对方按照协议方式修改输出内容, 如果双方没定义协议, 那就你自己改咯 改完后再去作小人, 跟公司反应情况投诉对方
谢谢 我觉得你说得对,可以从协议角度谈这个问题。但实际上我问我们主管了,为什么服务端明知那是问题但不改,可是主管不回答。[/quote] 有可能这代码就是你们的主管写的
zz962 2015-04-24
  • 打赏
  • 举报
回复
引用 22 楼 zhao4zhong1 的回复:
楼主虚心学习一下吧,以后可以少些不痛快: http://bbs.csdn.net/topics/360055953
谢谢 不过每人做事方式不同,我懒得在这类事情上费心。 我认为这个问题最经济的办法就是服务端改一下。
zz962 2015-04-24
  • 打赏
  • 举报
回复
引用 21 楼 zhao4zhong1 的回复:
[quote=引用 19 楼 zz962 的回复:] [quote=引用 18 楼 mayudong1 的回复:] [quote=引用 16 楼 mayudong1 的回复:] 首先看你们定义的协议中有没有明确的指定不能有空格回车之类的东西 大概也是没有明确指定所以才出现这种情况吧
哈哈,那你 也不愿意改就踢皮球吧,就看谁强势了 [/quote] 为了这么个小问题不值得,我已经改了,但不太痛快[/quote] 为这点小事都不痛快,纯属自寻烦恼,小肚鸡肠。[/quote] 我并非就为这件事纠结,我担心的是以后的客户端和服务端的解决分歧。 比如这个问题,一味压客户端改,但是丝毫不谈服务端是否该改。
zz962 2015-04-24
  • 打赏
  • 举报
回复
引用 22 楼 zhao4zhong1 的回复:
楼主虚心学习一下吧,以后可以少些不痛快: http://bbs.csdn.net/topics/360055953
引用 20 楼 zhao4zhong1 的回复:
scanf类函数包括fscanf函数,你怎么不知道呢? 老看教授猴指你鼻子,你能痛快吗?
问题是有必要么?你写代码每次都去一次空格回车么? 如果你不是这么做的,就少在这里教训人 如果你是这样做的,我很尊敬你,但我认为这是吹毛求疵,我不会这么做
zz962 2015-04-24
  • 打赏
  • 举报
回复
引用 30 楼 Sandrer 的回复:
这是两方面的事情, 就好比微软的系统老是不停的打补丁, 因为它有错 但你使用微软提供给你的api, 你不可能光靠它帮你打补丁就万事大吉了 你还得用 try...catch 来捕捉错误, 还有判断函数的返回值来得知函数执行是否成功, 不是吗? 如果开发服务端的工程人员是和你同一个公司, 那么你就去跟项目主管反应问题, 让项目主管来觉得, 何必自己找烦恼? 如果是第三方公司开发, 那你就天天给电话他让对方按照协议方式修改输出内容, 如果双方没定义协议, 那就你自己改咯 改完后再去作小人, 跟公司反应情况投诉对方
谢谢 我觉得你说得对,可以从协议角度谈这个问题。但实际上我问我们主管了,为什么服务端明知那是问题但不改,可是主管不回答。
Sandrer 2015-04-24
  • 打赏
  • 举报
回复
这是两方面的事情, 就好比微软的系统老是不停的打补丁, 因为它有错 但你使用微软提供给你的api, 你不可能光靠它帮你打补丁就万事大吉了 你还得用 try...catch 来捕捉错误, 还有判断函数的返回值来得知函数执行是否成功, 不是吗? 如果开发服务端的工程人员是和你同一个公司, 那么你就去跟项目主管反应问题, 让项目主管来觉得, 何必自己找烦恼? 如果是第三方公司开发, 那你就天天给电话他让对方按照协议方式修改输出内容, 如果双方没定义协议, 那就你自己改咯 改完后再去作小人, 跟公司反应情况投诉对方
zz962 2015-04-24
  • 打赏
  • 举报
回复
引用 26 楼 zhao4zhong1 的回复:
楼主的人生信条和“求人不如求己”正好相反。
您误会我的意思了,谢谢
zz962 2015-04-24
  • 打赏
  • 举报
回复
引用 27 楼 zhao4zhong1 的回复:
[quote=引用 9 楼 zhao4zhong1 的回复:] 作为一个C程序员,对 scanf,sscanf,fscanf printf,sprintf,fprintf 这类函数的用法,还是要做到“拳不离手,曲不离口”的。
归根结底,楼主还是不怎么会用这类函数。[/quote] 您每次读文件是不是都先做容错?
赵4老师 2015-04-24
  • 打赏
  • 举报
回复
引用 9 楼 zhao4zhong1 的回复:
作为一个C程序员,对 scanf,sscanf,fscanf printf,sprintf,fprintf 这类函数的用法,还是要做到“拳不离手,曲不离口”的。
归根结底,楼主还是不怎么会用这类函数。
赵4老师 2015-04-24
  • 打赏
  • 举报
回复
楼主的人生信条和“求人不如求己”正好相反。
赵4老师 2015-04-23
  • 打赏
  • 举报
回复
楼主虚心学习一下吧,以后可以少些不痛快: http://bbs.csdn.net/topics/360055953
赵4老师 2015-04-23
  • 打赏
  • 举报
回复
引用 19 楼 zz962 的回复:
[quote=引用 18 楼 mayudong1 的回复:] [quote=引用 16 楼 mayudong1 的回复:] 首先看你们定义的协议中有没有明确的指定不能有空格回车之类的东西 大概也是没有明确指定所以才出现这种情况吧
哈哈,那你 也不愿意改就踢皮球吧,就看谁强势了 [/quote] 为了这么个小问题不值得,我已经改了,但不太痛快[/quote] 为这点小事都不痛快,纯属自寻烦恼,小肚鸡肠。
加载更多回复(20)
1、本课程是一个干货课程,主要讲解如何封装服务器底层,使用Tcp/ip长连接,IDE使用vs2019 c++开发以及使用c++11的一些标准,跨平台windows和linux,服务器性能高效,单服务器压力测试上万无压力,服务器框架是经历过上线产品的验证,框架简单明了,不熟悉底层封装的人,半个小时就能完全掌握服务器框架上手写业务逻辑。2、本课程是一个底层服务器框架教程,主要是教会学员在windows或linux下如何封装一个高效的,避免踩坑的商业级框架,服务器底层使用初始化即开辟内存的技术,使用内存池,服务器运行期间内存不会溢出,非常稳定,同时服务器使用自定义哈希hashContainer,在处理新的连接,新的数据,新的封包,以及解包,发包,粘包的过程,哈希容器性能非常高效,增、删、查、永远不会随着连接人数的上升而降低性能,增、删、查、的复杂度永远都是恒定的O(1)。3、服务器底层封装没有使用任何第三方网络库以及任何第三方插件,自由度非常的高,出了任何BUG,你都有办法去修,查找问题也非常方便,在windows下使用iocp,linux下使用epoll.4、讲解c++纯客户端,主要用于服务器之间通信,也就是说你想搭建多层结构的服务器,服务器与服务器之间使用socket通信。还可以使用c++客户端做压力测试,开辟多线程连接服务器,教程提供了压力测试,学员可以自己做压力测试服务器性能。5、赠送ue4和unity3d通信底层框架以及多人交互demo,登录,注册,玩家离开,同步主要是教会学员服务器与客户端如何交互。6、赠送c++连接mysql数据库框架demo,登录,注册,玩家离开数据持久化.7、服务器教程使用自定义通信协议,同时也支持protobuf,选择权在开发者自己手里,想用什么协议都可以,自由度高。8、服务器教程使用手动敲代码逐句讲解的方式开展教学课程。非喜勿喷,谢谢大家。9、服务器教程提供源码,大家可以在平台提供的地址下载或者联系我,服务器使用c++11部分标准,std::thread,条件变量,线程锁,智能指针等,需要学员具备一定c++知识,购买前请慎重考虑。

18,356

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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