精英盒子 -> 零毫秒 -> SB2.x登陆部分协议设计 [打印本页]

jybox 2012-01-08 00:28

SB2.x登陆部分协议设计


登陆请求:
保留SB1.0原有的两种登陆请求
新增:SHA-256(公钥+SHA-256(密码))                
并推荐这种新增的方式

参数:
p2p的端口号,p2p使用udp协议
ps.因为udp对nat穿越效果比较好,可以应付恶劣的网络环境(此处恶劣是指运营商的各种限制)

选项:
“非主连接”:同一个用户可以开多个连接,完成多线程的图片下载、上传。
“强制登陆”:如果已经有同名客户端在线,则需要这个选项才能登陆
“隐藏ip”:不向其他用户暴露ip,但是这样可能会无法使用一些p2p功能

jybox 2012-01-08 00:33
补充,打算用户系统和论坛分离

whtsky 2012-01-08 00:33
公钥?

whtsky 2012-01-08 00:40
数据库:
SQL-
MySQL/PostgreSQL
NOSQL-
REDIS/MongoDB

whtsky 2012-01-08 00:42
选择哪个?

jybox 2012-01-08 00:45
公钥是服务器返回的一串随机数字

用Qt的数据库接口吧,支持这些,貌似其他的数据库也有非官方支持
QDB2    IBM DB2
QIBASE    Borland InterBase Driver
QMYSQL    MySQL Driver
QOCI    Oracle Call Interface Driver
QODBC    ODBC Driver (includes Microsoft SQL Server)
QPSQL    PostgreSQL Driver
QSQLITE    SQLite version 3 or above
QSQLITE2    SQLite version 2
QTDS    Sybase Adaptive Server



另外数据库相关操作尽可能抽象出来,如果以后效率不行方便换

whtsky 2012-01-08 00:54
jybox:公钥是服务器返回的一串随机数字
用Qt的数据库接口吧,支持这些,貌似其他的数据库也有非官方支持
QDB2    IBM DB2
QIBASE    Borland InterBase Driver
....... (2012-01-08 00:45) 

清一色的SQL..
你不会又要非QT支持不用吧。。

如果要记录聊天记录的话肯定要用到内存数据库(REDIS)的。。

用户数据的话,SQL也可以,但K/V式的数据库可以做得更好。。

jybox 2012-01-08 02:10
whtsky:清一色的SQL..
你不会又要非QT支持不用吧。。
如果要记录聊天记录的话肯定要用到内存数据库(REDIS)的。。
....... (2012-01-08 00:54) 

感觉数据库以后再换也不麻烦,到时候对比下,只要接口都抽象出来就行

聊天记录为啥要内存数据库?啥叫KV?....

既然用了Qt,那么尽可能还是要用Qt提供的东西的

whtsky 2012-01-08 02:12
第7楼jybox于2012-01-08 02:10发表的 回 whtsky 的帖子 的帖子
whtsky:清一色的SQL..
你不会又要非QT支持不用吧。。
如果要记录聊天记录的话肯定要用到内存数 ..
key/value
聊天记录是高并发、大数据,redis这样的内存数据库能保证效率.

mason 2012-01-08 14:54




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