web增加「BBS網路聊天室」功能

2021-03-31 08:57:00 字數 2692 閱讀 5519

發信人: chutium (秋天|阿新是誰?), 信區: bbsdev

標  題: web下增加 bbs網路聊天室 功能

發信站: 鄭大綠城 bbs (mon sep  6 07:37:55 2004), 本站(bbs.zzu.edu.**)

必須是註冊使用者才能使用本功能

登陸後,在 談天說地 -> bbs網路聊天室 開啟即可

這個聊天程式可以與tel***模式下的聊天室同步,使用者可同時在tel***或web彼此聊天。

1.proto.h

diff proto.h proto.h.bak

458,459d457

< /* bbschat.c */

< int bbschat_main(void);

2.bb**ain.c

diff bb**ain.c bb**ain.c.bak

59c59

<       },

--->       //},

3.bbsleft.c

150,153d151

< if (currentuser->userlevel & perm_chat) 

4.bbschat.c

#include 

#include 

#include 

#include "bbslib.h"

static int chat_fd;

static int test=0;

static char genbuf[1024];

int bbschat_main() 

changemode(chat2);

strsncpy(t, getparm("t"), 80);

pid=atoi(getparm("pid"));

if(pid==0) reg();

if(pid>0)

if(kill(pid, 0)!=0) 

if(!strcmp(t, "frm")) show_frm(pid);

if(!strcmp(t, "chatsnd")) chatsnd(pid);

if(!strcmp(t, "frame_input")) frame_input(pid);

if(!strcmp(t, "chatrefresh")) 

printf("err cmd");

return 0;

}int reg() 

for(n=0; n<1024; n++) close(n);

pid=getpid();

agent(pid);

exit(0);

}int show_frm(int pid) 

int frame_input(int pid) 

int chatsnd(int pid) 

char *cco(char *s) 

bzero(co, 20);

if(!strncmp(s, "%r", 2)) strcpy(co, "/033[31m");

if(!strncmp(s, "%g", 2)) strcpy(co, "/033[32m");

if(!strncmp(s, "%b", 2)) strcpy(co, "/033[34m");

if(!strncmp(s, "%c", 2)) strcpy(co, "/033[36m");

if(!strncmp(s, "%y", 2)) strcpy(co, "/033[33m");

if(!strncmp(s, "%m", 2)) strcpy(co, "/033[35m");

if(!strncmp(s, "%n", 2)) strcpy(co, "/033[0m");

if(!strncmp(s, "%w", 2)) strcpy(co, "/033[37m");

if(!strncmp(s, "%i", 2)) strcpy(co, "/033[99m");

if(co[0]) 

p[0]=s[0];

p++;

s++;

}return buf;

}int chatrefresh(int pid) 

sprintf(filename, "tmp/%d.out", pid);

t1=time(0);

while(abs(t1-time(0))<8 && !file_exist(filename)) 

fp=fopen(filename, "r");

if(fp)

if(!strncmp(genbuf, "/t", 2)) 

if(!strncmp(genbuf, "/r", 2)) 

if(!strncmp(genbuf, "/", 1)) 

for(i=0; iuid, currentuser->userlevel, currentuser->userid, currentuser->userid, 0);

write(chat_fd, genbuf, strlen(genbuf));

read(chat_fd, genbuf, 2);

if(!strcasecmp(genbuf, "ok")) exit(0);

fp=fopen(filename, "w");

fprintf(fp, "/init/n");

fclose(fp);

while(1) 

abort_chat();

return 0;}--

web網路基礎

層次 描述應用層 針對特定應用的協議 電子郵件 電子郵件協議,檔案傳輸 檔案傳輸協議。表示層將裝置固有資料格式和網路標準資料格式進行轉換。會話層通訊管理,複製建立和斷開通訊連線,但是實際是由傳輸層建立和斷開操作。傳輸層兩個節點之間的資料傳輸。網路層地址管理與路由選擇。定址和路由。資料鏈路層 資料幀與...

網路應用 web應用

world wide web tim berners lee 網頁 網頁互相連結 網頁 web page 包含多個物件 objects 物件的定址 addressing url uniform resoure locator 統一資源定位器 rfc1738 scheme host port path...

web及網路基礎

http誕生,規範,為了解決文字傳輸的難題。tcp ip協議族,分層。應用層 傳輸層 網路層 資料鏈路層。分層的好處 不需要整體的修改,分層後,只需要把變動的層替換掉。把每個層介面部分規劃好後,每個層內部設計可以自由改動。模組化 利用tcp ip協議族進行網路通訊,會通過分層順序與對方進行通訊。傳送...

web網路安全

我覺得咱程式設計師多多少少得了解一下安全方面的知識,當然小夥伴們別想歪了。瞭解資訊保安知識不管是在日常吹牛emmm還是開發工作中都能起到一定作用。埠掃描俗稱網路探針,是黑客經常使用的一種技術,它一般是網路攻擊的前期階段,用於探測目標開啟了哪些服務 常見的http服務,mysql服務,redis服務。...

《網路攻防》Web基礎

知識是用來提高自己能力的,不是單純的用來應付考試,不能考了就忘,這樣不好。想這次實驗的內容就是上學期的課程內容,但我都忘得差不多了,好在還有點基礎,學起來也快。script function nametext function passtext script echo get a include g...