荔园在线

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

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


发信人: jjk (kernel), 信区: InstallBBS
标  题: Re: 一个c/s结构的bbs接口协议详细说明[fwd]
发信站: 荔园晨风BBS站 (Sun Mar 10 09:46:44 2002), 转信

【 以下文字转载自 jjk 的信箱 】
【 原文由 jjk.bbs@bbs.nju.edu.cn 所发表 】
发信人: zhch (zhch), 信区: BBSDev
标  题: Re: 一个c/s结构的bbs接口协议详细说明[fwd]
发信站: 南京大学小百合站 (Sat Mar  9 22:23:49 2002), 站内信件

这个程序名称是lily icu, 需要通过类似sbbsd的daemon来启动.
代码如下, 和sbbsd基本一样:

#include "/home/bbs/bbssrc/include/bbs.h"
#include "netinet/in.h"

int main(int arg_num, char *arg_val[]) {
        static struct sockaddr_in xs;
        int port=27027, n, fd, fd2, o=1;
        chdir(BBSHOME);
        setuid(BBSUID);
        if(fork()) exit(0);
        for(n=0; n<=getdtablesize(); n++) close(n);
        for(n=1; n<=NSIG; n++) signal(n, SIG_IGN);
        if(arg_num>1) port=atoi(arg_val[1]);
        xs.sin_family=AF_INET;
        xs.sin_port=htons(port);
        fd=socket(AF_INET, SOCK_STREAM, 0);
        setsockopt(fd, SOL_SOCKET, SO_REUSEADDR, (char*) &o ,sizeof(o));
        if(bind(fd, (struct sockaddr*) &xs, sizeof xs) <0) exit(1);
        if(listen(fd, 4)<0) exit(1);
        umask((mode_t) 022);
        n=sizeof xs;
        while(1)
                if((fd2=accept(fd, (struct sockaddr*) &xs, &n)) >0) {
                        if(fork()==0) break;
                        close(fd2);
                }
        dup2(fd2, 0);
        if(fd2!=1) dup2(fd2, 1);
        if(fd2!=2) dup2(fd2, 2);
        if(fd2>=3) close(fd2);
        execl("bin/icq", "icq", "h", (char*) inet_ntoa(xs.sin_addr), NULL);
}

【 在 zhch (zhch) 的大作中提到: 】
: 一个c/s结构的bbs接口协议详细说明
: 代码下载: http://bbs.nju.edu.cn/download/icq.c
: 更新时间: 2001-08-1
: 这是一套for FB的bbs接口程序.
: 这个程序使用了NJU WEB BBS 0.9的BBSLIB.inc.
: 程序说明:
: 函数参数按名存取, 可随意增减, 扩展性强.
: 参数名称大小写不敏感.
: 所有函数(除login外), 都要登录成功后才能使用.
: 返回值:
: 成功返回1, 出口参数将被赋值.
: 失败返回0, 出口参数不赋值, error存放具体出错信息.
: 1, int login(id, pw, ...)
: 函数作用: 用户登录
: 入口参数:
: id: 用户名
: pw: 密码
: 出口参数:
: UTMPNUM: 在线信息1 (cgi用)
: UTMPKEY: 在线信息2 (cgi用)
: (以下引言省略 ... ...)

--

zhch.bbs@bbs.nju.edu.cn

※ 来源:.南京大学小百合站 bbs.nju.edu.cn.[FROM: dsl.nju.edu.cn]
--
※ 转寄:.南京大学小百合站 bbs.nju.edu.cn.[FROM: 深圳大学BBS]

--
※ 转载:·荔园晨风BBS站 bbs.szu.edu.cn·[FROM: 192.168.0.146]


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

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