荔园在线

荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀

[回到开始] [上一篇][下一篇]


发信人: jjk (pq), 信区: InstallBBS
标  题: [范文7][BBSDev]增加离线时间的讨论
发信站: 荔园晨风BBS站 (Thu Nov 29 11:21:15 2001), 转信

【 以下文字转载自 jjk 的信箱 】
【 原文由 jjk.bbs@bbs.pku.edu.cn 所发表 】
发信人: vida (下一个自杀的id...), 信区: BBSDev
标  题: [范文7][BBSDev]增加离线时间的讨论
发信站: 北大未名站 (2001年05月23日22:07:21 星期三), 站内信件


发信人: sky (hello), 信区: Bug_Fault
标 题: 增加"离线时间"显示(1)
发信站: 静园草坪 (Thu May 11 13:15:50 2000), 站内信件

是yanglc提出加上这个功能的.

在我有想法怎做之初(修改用户信息结构--但风险比较大),
老杨突然告诉我说保存在每个用户的目录里面就行(SMTH是那样做的?)
并指出我那样在升级系统时候会比较麻烦.

而我的理由是:
1) 这样可以减少磁盘的开销: lastlogout记录在.PASSWDS
里面;
2)可以提高时间效率: 因为读取.PASSWDS文件是BBS系统最频繁的操作
之一, 而且还(整个?).PASSWDS一直是在内存里面有映象的.

不好的地方是每个用户需要增加一个长整型(4字节)来保存lastlogout
会增加内存开销.

在决定好怎么做后就匆匆开始改了...

(事实上当所有的修改完毕后, 发现老杨担心的"升级"问题并不麻烦
如果需要升级的话, 在编译新的系统之前只要修改struct.h里面的
userec结构, 保持一致就没有问题了.)

--
※ 来源:·静园草坪 bbs.geo.pku.edu.cn·[FROM: 162.105.20.253]

发信人: sky (hello), 信区: Bug_Fault
标 题: 增加"离线时间"显示(4)
发信站: 静园草坪 (Thu May 11 14:26:52 2000), 站内信件

开始我在推测.PASSWDS文件结构时候, 用的是vi, wc之类工具
发现它居然由"很多行"组成, 让我大惑不解. 老杨提示: 二进制
文件就将它看成是字符流的形式, 遇到0x0d不必把它当做是换行
的标志, 它只不过是个普通的字符罢了.

那就不管三七二十一了, 直接写了那个convert.PASSWDS.c
来转换口令文件.


在决定如何表达"在线","非正常离线",或者是打印离线时间
和老杨费了半天(确切说是'夜',hehe)的神.

后来发现关键在于用户登陆时候以及退出时候用的是
currentuser.lastlogin, currentuser.lastlogout
而在查询时候用的是
lookupuser.lastlogin, lookupuser.lastlogout

没有办法接合在一起用好像.
最后还是采用的SMTH的表达方法.

--
※ 来源:·静园草坪 bbs.geo.pku.edu.cn·[FROM: 162.105.20.253]

--
※ 修改:·vida 於 05月18日20:18:49  修改本文·[FROM: 166.111.215.160]
※ 来源:·北大未名站 bbs.pku.edu.cn·[FROM: 166.111.215.160]
--
※ 转载:·北大未名站 bbs.pku.edu.cn·[FROM: 166.111.215.160]
--
※ 转寄:·北大未名站 bbs.pku.edu.cn·[FROM: 210.39.3.50]
--
※ 转载:·荔园晨风BBS站 bbs.szu.edu.cn·[FROM: 192.168.0.146]


[回到开始] [上一篇][下一篇]

荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店