找回密码
 注册
搜索
查看: 5152|回复: 6

2.5版服务器端下次更新:将考虑使用两个DLL文件

  [复制链接]
发表于 2005-12-15 17:33:39 | 显示全部楼层 |阅读模式
因目前pChat的用户数量不断增多,预计将来大约会有1/10以上的用户可能会采用现有社区的帐号来结合pChat平台的游戏。
! C4 W2 ]3 M$ g) U9 q而目前pChat平台的游戏主要是采用MySQL数据库并且一般是独立玩家帐号数据的形式。不方便这些用户与自己的社区帐号进行结合。1 T  I, T) O' o+ Z* `/ F

! c: s. f& ?+ L7 s因此拟在下一版本的pChat Server中采用两个DLL文件的形式。
# L% G/ P$ a  S1 O' n: n一个用于OnUserLogin()接口的调用,' g: V. K& E+ Y$ ]
另一个用于其他接口的调用。5 v7 ^  Y2 r) ?7 z

& w1 z7 G8 y, l/ q% ?& @0 K# I, [这样,对于普通的采用与现有社区结合结合方式的用户来说,就可以非常方便的对pChat平台的游戏进行升级。基本上可以不用修改游戏程序了。+ S& H9 Q2 L( {( @
9 r# ~7 w! P& M
欢迎大家发表自己的意见与建议。
发表于 2005-12-15 19:23:11 | 显示全部楼层
好功能!不过,如果能登陆江湖后,再登录论坛不需要再输入一遍用户名和密码,那该多好啊!!
回复

使用道具 举报

 楼主| 发表于 2005-12-15 19:37:45 | 显示全部楼层
下面是引用dede于2005-12-15 19:23发表的:! ]  {7 M6 F2 f: h; V/ _3 e
好功能!不过,如果能登陆江湖后,再登录论坛不需要再输入一遍用户名和密码,那该多好啊!!
( t) I( |. u7 A
实现是可以实现的,只不过已经超出这里讨论的范围了。
回复

使用道具 举报

发表于 2005-12-16 08:12:32 | 显示全部楼层
没有啊!既然要让用户方便整合,自然这是一道不可否定的墙!
回复

使用道具 举报

发表于 2005-12-16 08:45:35 | 显示全部楼层
不赞成采用两个DLL
+ }3 B! Q, z( ]1 @
! O$ l! V, e+ Z; X7 _我的实现方法是:在pchat目录下建立了一个users.ini文件,里面记录的是:
* d1 @, t9 L- L) \;*******************************************************************! R0 u% T( o8 Q  H
; 有效用户表个数,最小为1,即PCHAT自代的用户表: u6 ~1 N8 x$ A5 d1 D9 H2 T; M
[pub]
$ O, E5 D4 f; B4 Z7 M! C% dMax_UserTable = 3         ;最小为1,基本用户表
8 i8 D- l8 y3 Q
. }$ X1 _7 |( d0 ^5 T4 k8 X7 g/ r$ s1 q;1号用户表
% Q  D) l1 X" B9 ^& K# l5 v2 w! V$ s$ `[1]
# Y! F3 ]+ r& O' d  P;用户ID起始序号: r: P& r3 Q, F1 `  u$ a" w- d& x
UserId_Head = 0
* b, u3 \( G; t* e. W! {* B1 f;dsn连接8 I6 I' U6 K2 q' p6 ]/ R, l
DSN = dsn=pchat
$ Q' s* A5 _# [  w9 t;字段定义
+ K. k1 f4 Y" i6 C2 I+ WUserId = uin
: z6 S# l( D! L7 T$ @  vUserName = nick
" m- h9 P4 ~# y/ zUserPassword = passwd
: }/ r* Z6 |/ H, _UserSex = gender
  i2 W* a; [& i
9 v, X) `6 ^. X) T. B[2]. ?. Z9 U! v- G5 Y; P$ t7 a
UserId_Head = 200000000
# a3 W; B5 Q3 xDSN = dsn=fywww
5 c9 |2 M  h% g# S, `$ yUserId = userid( P7 ^+ R3 G) D' E5 b
UserName = username
% D, D, L- H4 E& t1 CUserPassword = userpassword/ ^) c1 ~  K% b$ e5 p
UserSex = usersex4 o, H0 m) r+ ^& h; _

% P, N: T) t, k! q  C0 Z[3]- A+ u. N+ x9 f) n% Y
UserId_Head = 300000000
8 w6 m  ^6 h+ C* G) M2 }' I% K; oDSN = dsn=fy# A) o/ t, y, [$ P4 F
UserId = uin
( H. I7 |: o+ o# ?+ A; j/ jUserName = nick3 r) E+ y/ q$ o* v/ X: b, @
UserPassword = passwd
- N5 n1 b8 t$ F9 |- ]) lUserSex = gender8 n6 Z' H* k' {0 I# }& i/ C$ q
! j# `$ Q# n, y) m6 w0 ^
如果是单用户表,建议将以上某段定义放到pchat_ini中即可
+ c- O6 ]: Z* S* \# z; z: e/ E- M2 |: t至于用户ID和性别,很多网站的数据库都支持,如果不支持,只需要在DLL中加一条转换语句。! Y7 o+ i/ \/ y8 n

, C9 l  r' G& e4 l* T+ _' E* Edede的用户登陆问题,我的江湖已经做了,用户在江湖中选择充值后,直接转ASP网页选择充值金额、转银行支付、增加江湖充值金额。如果是论坛,更简单。整个无须再输入密码。& {, I- q" u1 q" \
实现过程:在江湖中加一条转论坛或其他指令,指令执行函数先对用户、时间、IP等进行记录,并生成加密串,然后带用户ID和加密串转ASP程序,在ASP程序中检查用户ID和加密串的合法性,以及时间是否超时(如最大10秒),通过的话,就认可认证,模拟论坛登陆成功操作。
回复

使用道具 举报

 楼主| 发表于 2005-12-16 13:53:26 | 显示全部楼层
下面是引用calmhe于2005-12-16 08:45发表的:
* p/ `- F5 S' v9 y7 s" l/ C4 r不赞成采用两个DLL( m3 f2 _( ^/ L

; _! M1 R2 @" X% t8 B我的实现方法是:在pchat目录下建立了一个users.ini文件,里面记录的是:
3 [) P1 e6 F! {8 a" S5 E% r* ?;*******************************************************************, e" N- o0 i$ K. }) G9 t
; 有效用户表个数,最小为1,即PCHAT自代的用户表2 N  d9 X2 l1 r
.......
) J% @7 Y' d( j
双DLL与你的这个功能没任何影响,可以将两个DLL的定义都指向同一个DLL文件。
回复

使用道具 举报

 楼主| 发表于 2005-12-18 14:28:21 | 显示全部楼层
原来的服务器端INI中的 “DllFileName = DLL文件名”改为:8 K% M' a6 l; @& h3 z- s+ ~/ u$ i
AuthDllFile = 登录验证的DLL文件名
  `' K) J% F5 M9 ^6 j8 S# _MainDllFile = 游戏内容的DLL文件名
3 j3 n4 ]. d) Z5 t, G
" Y& W6 ~' X" C* L# g! Q
其中的 AuthDllFile 指定的DLL只使用OnUserLogin()接口函数,其他内容在 MainDllFile 指定的DLL中调用。. v4 J" ?7 K7 z+ _0 u; g
如果使用的是默认的数据库表和字段结构,两个DLL可以是一样的(也就是说和以前没什么区别)。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|宁德市腾云网络科技有限公司 ( 闽ICP备2022007940号-5|闽公网安备 35092202000206号 )

GMT+8, 2025-11-15 06:40 , Processed in 0.019807 second(s), 15 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表