荔园在线
荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀
[回到开始]
[上一篇][下一篇]
发信人: jjksam (eee), 信区: InstallBBS
标 题: 双方自动应答造成讯息反弹问题的一种解决
发信站: 荔园晨风BBS站 (Fri Oct 10 14:29:47 2003), 站内信件
发信站: 南京大学小百合站 (Sat Dec 21 23:10:01 2002)
转信站: SMTH!maily.cic.tsinghua.edu.cn!news.zixia.net!NJU
出 处: bbs.nju.edu.cn
对于FB系统,如果两个sterm用户都开了自动应答,有可能出现双方都不断回
答"我不在.."而使得讯息不断反弹的情况。在网速快的时候,这会占用大量的
系统资源。通过限制短时间内连续对同样的人发送同样内容的讯息可以避免这
个问题。
具体改动如下:
在sendmsg.c的do_sendmsg()函数的适当地方加上:
if(flood_msg(msgbuf, userpid)) {
move(1, 0);
clrtoeol();
prints("错误! 您刚才已经发过这个消息了...\n");
refresh();
sleep(1);
return -1;
}
然后再加上flood_msg()函数:
int flood_msg(char *msgbuf, int pid) {
static char last_buf[256]="";
static int last_pid=0;
static int last_time=0;
if(abs(time(0)-last_time)>10 || pid!=last_pid || strcmp(msgbuf, last_buf)) {
last_time=time(0);
last_pid=pid;
strncpy(last_buf, msgbuf, 256);
return 0;
} else {
return 1;
}
}
--
※ 来源:.南京大学小百合站 bbs.nju.edu.cn.[FROM: bbs.nju.edu.cn]
--
。.
."。
█D
Would you like to have a cup of cola with me?
※ 来源:·荔园晨风BBS站 bbs.szu.edu.cn·[FROM: 192.168.0.234]
[回到开始]
[上一篇][下一篇]
荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店