精英盒子 -> 零毫秒 -> 0.2版本协议选择的讨论 [打印本页]

jybox 2011-10-17 22:22

0.2版本协议选择的讨论

本人先站在公正的角度分析一下各协议的利弊
--XMPP
众多开源即使通讯软件采用的通讯协议,基于XML
优点,可以使零毫秒与其他开源IM互通,基于XML,具有扩展性,结构清晰,易于调试,该协议已相对成熟,容易被开发者接受
缺点,XML的效率非常低,我们目前的水平很难准确、完整地实现该协议,很可能适得其反,被实现的不伦不类。另外,有一些编程语言对XML没有比较好的支持。

--制定自己的,基于XML的通讯协议
仿造XMPP,自己设计一个基于XML的通讯协议
优点,自己设计会更贴近零毫秒的需求,基于XML,具有扩展性,结构清晰,易于调试。对开发人员比较有好
缺点,自己设计未必有类似XMPP那样成熟的协议设计的好。XML效率非常低,一些编程语言缺乏对XML的支持

--纯二进制数据协议
QQ等IM软件使用这类协议
优点,高效率
缺点,不易被其他开发人员理解、不易调试,体系庞大后,会非常混乱,难以维护。而且这并不适合TCP程序(QQ使用UDP,而零毫秒基于TCP)

--继续沿用0.1版所使用的,二进制包头+字符串数据(String & Binary,可以简称SB协议),MSN使用了该协议 (MSN也基于TCP)
优点,效率比较平衡,字符串具有很高的可读性,方便调试
缺点,不可扩充。


该贴长期有效,请尽力坚持自己的观点!!
等0.2版开始开发的时候,会组织投票!

whtsky 2011-10-17 22:26
XMPP各语言都有开发包的..

jybox 2011-10-17 22:29
whtsky:XMPP各语言都有开发包的..
 (2011-10-17 22:26) 

不要提开发包....

jybox 2011-10-17 22:31
whtsky:XMPP各语言都有开发包的..
 (2011-10-17 22:26) 

就算用开发包也是“我们目前的水平很难准确、完整地实现该协议,很可能适得其反,被实现的不伦不类。”

再说大部分都是客户端的,没有服务器的开发包

再说,我们要实现的是自己的,就算用开发包,最次也要把所有源码过目,进行翻译,工程量比自己实现都大

whtsky 2011-10-17 22:33
jybox:[表情]不要提开发包.... (2011-10-17 22:29) 

难道你要自己写一遍才有快感

whtsky 2011-10-17 22:33
jybox:就算用开发包也是“我们目前的水平很难准确、完整地实现该协议,很可能适得其反,被实现的不伦不类。”
再说大部分都是客户端的,没有服务器的开发包
....... (2011-10-17 22:31) 

那还是别用XMPP了

jybox 2011-10-17 22:38
whtsky:[表情]那还是别用XMPP了 (2011-10-17 22:33) 

其实我支持自己制定XML和保持现有的SB协议

原因是纯二进制太不友好了,只有QQ这么蛋疼

而实现XMPP,我对自己没信心

还有个方案就是先自己制定XML,等技术成熟,再增加对XMPP的支持(同时支持两种),毕竟都是基于XML,同时支持难度应该不大

但是呢,XML的效率又实在令人担忧.....

pcliker 2011-10-18 15:24
表示没意见……

abreto 2011-10-18 21:21
二进制,SDK是我们提供的,第三方开发人员不需要解读发送的东西的含义,

jybox 2011-10-18 21:41
abreto:二进制,SDK是我们提供的,第三方开发人员不需要解读发送的东西的含义, (2011-10-18 21:21) 

这不太好吧,并不是所有人都喜欢用SDK的,比如我,就拒绝了whtsky使用xmpp开发包的建议

outman 2011-10-18 22:44
二进制 可借鉴学习amf协议

内容来自[手机版]

whtsky 2011-10-19 19:51
abreto:二进制,SDK是我们提供的,第三方开发人员不需要解读发送的东西的含义, (2011-10-18 21:21) 

你能为所有语言提供SDK嘛
二进制还是太蛋疼了

jybox 2011-10-19 20:25
whtsky:你能为所有语言提供SDK嘛[表情]
二进制还是太蛋疼了 (2011-10-19 19:51) 

支持,话说我们应该再找点人来参加这两个讨论
可以说,这是一次定终生的重要会议
ps...大概有一个月到两个月的讨论时间

jybox 2011-10-28 23:13
接着讨论

whtsky 2011-10-30 08:22
SB吧

jybox 2011-10-30 17:01
whtsky:SB吧[表情]  (2011-10-30 08:22) 

我在纠结SB还是自创XML

whtsky 2011-10-30 19:18
xml蛋疼。

内容来自[手机版]

whtsky 2011-10-30 19:18
json还行。

内容来自[手机版]

jybox 2011-10-30 19:23
whtsky:json还行。
内容来自[手机版]  (2011-10-30 19:18) 

很多语言对json都没有原生支持
像vb6神马的都被华丽的无视了

jybox 2011-10-30 22:40
outman也表示支持SB协议.....

whtsky 2011-10-31 19:29
jybox:[表情]很多语言对json都没有原生支持
像vb6神马的都被华丽的无视了 (2011-10-30 19:23) 

vb6可以死了。。

jybox 2011-10-31 19:35
whtsky:vb6可以死了。。 (2011-10-31 19:29) 

其实vb6的用户是很多的,而且这种介于高级和底层之间的语言用来开发客户端也是比较合适的

另外,那么就定下来用SB协议了?

jybox 2011-10-31 19:36
召唤

whtsky 2011-10-31 19:49
jybox:其实vb6的用户是很多的,而且这种介于高级和底层之间的语言用来开发客户端也是比较合适的
另外,那么就定下来用SB协议了? (2011-10-31 19:35) 

VB6现在用户真不多。。
C#,PYTHON都比VB适合开发客户端啊。。
VB6功能太残缺了,要依赖系统API..

jybox 2011-10-31 19:55
whtsky:VB6现在用户真不多。。
C#,PYTHON都比VB适合开发客户端啊。。
VB6功能太残缺了,要依赖系统API.. (2011-10-31 19:49) 

我又没说要用vb6,只是给用户选择,而且又没什么负面影响

whtsky 2011-10-31 20:06
jybox:[表情]我又没说要用vb6,只是给用户选择,而且又没什么负面影响 (2011-10-31 19:55) 

那就SB吧

jybox 2011-10-31 20:56
whtsky:[表情]那就SB吧 (2011-10-31 20:06) 

OK   定了

littlepig 2011-11-05 01:46
jybox:[表情]很多语言对json都没有原生支持
像vb6神马的都被华丽的无视了 (2011-10-30 19:23) 

………………

jybox 2011-11-05 13:36
littlepig:……………… (2011-11-05 01:46) 


littlepig 2011-12-05 13:00
jy咱商量一下……我把你这个零毫秒嵌进我那个聊天软件里面,你能2个月内不动协议么?或者你3天内抓紧做一个新的?

jybox 2011-12-05 20:10
littlepig:jy咱商量一下……我把你这个零毫秒嵌进我那个聊天软件里面,你能2个月内不动协议么?或者你3天内抓紧做一个新的? (2011-12-05 13:00) 

估计1月份开始开发0.2版本,协议也要进行更新,而且不提供向下兼容(也就是SB2.0不会兼容SB1.0)
0.2版本估计需要4-6个月的开发周期,在这段时间(0.2未开发完成时)都会继续沿用SB1.0


另外,SB2.0虽然不会刻意地对SB1.0进行支持,但大致是类似的,如果你架构设计得比较好的话,从1.0升级到2.0应该很容易

xttyctl9 2011-12-20 22:18
煞笔吧。不过我也不是很懂网页。最近很少上了呵呵,考试害死人

whtsky 2011-12-21 12:18
第31楼xttyctl9于2011-12-20 22:18发表的:
煞笔吧。不过我也不是很懂网页。最近很少上了呵呵,考试害死人
指谁.

幻の上帝 2011-12-30 14:28
whtsky:指谁. (2011-12-21 12:18) 

大概是说协议……




Powered by phpwind v8.7 Code ©2003-2011 phpwind
Time 0.061739 second(s),query:5 Gzip enabled