91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 5.72MB
    文件類型: .zip
    金幣: 2
    下載: 0 次
    發布日期: 2023-09-18
  • 語言: 其他
  • 標簽: linux??多線程??

資源簡介

本設計主要實現一個Linux下的局域網聊天工具的設計。該設計主要分為兩部分,客戶端部分和服務器部分。設計并實現一個簡單的聊天室程序,用戶名/密碼注冊和登錄,客戶端登陸到服務器聊天后,可以在聊天室內與其他用戶交流。 1、 能做到3個以上用戶之間的聊天; 輔助: 2 、系統要有用戶管理功能; 3、 每個用戶能管理自己的權限,比如 不接受信息,撤銷已發的信息等;可以自己發揮; 4 、聊天信息的保存,比如保存三天內的信息,或其他規定; 5 、敏感詞的過濾等等;

資源截圖

代碼片段和文件信息

/*?msg_client.c?*/??
#include?“msg.h“???

int?userid?=?0;

char?name[32]?=?““;

void?print_menu(void){
printf(“\t+----------------------------------+\n“);
printf(“\t+????Chat?Room?V1.0?2013.01.08?????+\n“);
printf(“\t+----------------------------------+\n“);
printf(“\t+?User?Commands?as?follows:????????+\n“);
printf(“\t+??????????????????????????????????+\n“);
printf(“\t+?l:?list?all?online?user??????????+\n“);
printf(“\t+?i:?Login?????????????????????????+\n“);
printf(“\t+?o:?logOut????????????????????????+\n“);
printf(“\t+?c:?Chat?with?other?online?user???+\n“);
printf(“\t+?a:?Chat?with?all?online?user?????+\n“);
printf(“\t+?f:?transfer?a?File?to?others?????+\n“);
printf(“\t+?h:?Help??????????????????????????+\n“);
printf(“\t+----------------------------------+\n“);
}

int?get_choice(){
printf(“%s#?“?name);
int?answer?=?getchar(); //?eat?
while(getchar()?!=?‘\n‘); //?eat?
//putchar(answer);
return?answer;
}

void?func(int?sig){
printf(“\n%s#?“?name);
fflush(stdout);
}

int?send_to(int?target?int?cmd?char?*data){
return?send_msg(target?cmd?userid?data);
}

int?send_server(int?cmd?char?*data){
return?send_msg(TYPE_SERVER?cmd?userid?data);
}

int?chat(){
if(strlen(name)?==?0){
printf(“You?are?not?login!\n“);
return?ERR;
}

char?id[32];
char?data[256];
char?buf[256];
printf(“To:?[USR_ID]?“);
fflush(stdout);
if(fgets(id?sizeof(id)?stdin)?==?NULL){
perror(“fgets“);
return?ERR;
}
sprintf(data?“?%s?>?“?name);
id[strlen(id)?-?1]?=?0;

printf(“>>?“);
fflush(stdout);
if(fgets(buf?sizeof(buf)?stdin)?==?NULL){
perror(“fgets“);
return?ERR;
}
strcat(data?buf);
data[strlen(data)?-?1]?=?0;
send_to(atoi(id)?CMD_CHAT?data);
}

int?chat_all(){
if(strlen(name)?==?0){
printf(“You?are?not?login!\n“);
return?ERR;
}

char?data[256];
char?buf[256];
sprintf(data?“?%s?To?all?>?“?name);

printf(“To?all?>>?“);
fflush(stdout);
if(fgets(buf?sizeof(buf)?stdin)?==?NULL){
perror(“fgets“);
return?ERR;
}
strcat(data?buf);
data[strlen(data)?-?1]?=?0;
send_to(TYPE_SERVER?CMD_TOALL?data);
}

int?login(){
printf(“username:?\n“);
if(fgets(name?sizeof(name)?stdin)?==?NULL){
perror(“fgets“);
return?ERR;
}
name[strlen(name)?-?1]?=?0;
int?rand_type?=?random();
time_t?t;
time(&t);
sprintf(msg_snd.buffer?“%c:%s:%ld:%d“?CMD_LOGIN?name?t?rand_type);
#ifdef?_DEBUG
printf(“%s\n“?msg_snd.buffer);
#endif
//?get?a?random?type?to?login?server
msg_snd.mtype?=?TYPE_SERVER;
if(msgsnd(msgid?&msg_snd?strlen(msg_snd.buffer)+1?0)? perror(“msgsnd“);
return?ERR;
}

//?wait?server?response
if(msgrcv(msgid?&msg_rcv?sizeof(msg_rcv)?rand_type?0)? return?ERR;
}?else{
userid?=?atol(msg_rcv.buffer);
printf(“Login?OK?id?=?%d\n“?userid);
return?OK;
}
}

int?logout(){
if(strlen(name)?==?0){
return?ERR;
}
send_server(CMD_LOGOUT?“Logout“);
//?wait?server?response
if(msgrcv(msgid?&msg_rcv?sizeof(msg_rcv)?userid?0)? return?ERR;
}else

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2018-03-07?16:39??操作系統課程設計\
?????目錄???????????0??2018-03-07?16:34??操作系統課程設計\其他\
?????文件??????328192??2018-03-07?15:40??操作系統課程設計\其他\Linux下的Socket網絡編程:11.doc
?????文件??????539648??2018-03-07?15:40??操作系統課程設計\其他\Linux下的簡單聊天工具???11.doc
?????文件??????533504??2018-03-07?15:40??操作系統課程設計\其他\Linux下類似QQ聊天工具.doc
?????文件??????514560??2018-03-07?15:40??操作系統課程設計\其他\Linux網絡聊天系統.doc
?????文件??????587990??2018-03-07?15:41??操作系統課程設計\其他\Linux聊天室系統期末大作業.doc
?????文件??????783360??2018-03-07?15:41??操作系統課程設計\其他\Linux聊天程序論文.doc
?????文件?????1588224??2018-03-07?15:41??操作系統課程設計\其他\Linux課程大作業之局域網聊天系統.doc
?????文件???????13920??2018-03-07?15:41??操作系統課程設計\其他\chat.zip
?????文件?????1115548??2018-03-07?15:41??操作系統課程設計\其他\linux-下的網絡聊天室-11.doc
?????文件??????414208??2018-03-07?15:41??操作系統課程設計\其他\linux基于socket下的簡單聊天室.doc
?????文件??????438784??2018-03-07?15:41??操作系統課程設計\其他\linux聊天室報告.doc
?????目錄???????????0??2018-03-07?16:34??操作系統課程設計\其他\yybchat\
?????文件?????????159??2018-03-07?15:41??操作系統課程設計\其他\yybchat\Makefile
?????文件???????12859??2018-03-07?15:41??操作系統課程設計\其他\yybchat\client
?????文件????????2709??2018-03-07?15:41??操作系統課程設計\其他\yybchat\msg.h
?????文件????????5731??2018-03-07?15:41??操作系統課程設計\其他\yybchat\msg_client.c
?????文件????????2470??2018-03-07?15:41??操作系統課程設計\其他\yybchat\msg_svr.c
?????文件???????12331??2018-03-07?15:41??操作系統課程設計\其他\yybchat\server
?????文件??????259072??2018-03-07?15:40??操作系統課程設計\其他\基于Linux網絡聊天室的設計?(3).doc
?????文件???????93161??2018-03-07?15:40??操作系統課程設計\其他\基于Linux網絡聊天室的設計.doc
?????文件??????324859??2018-03-07?15:40??操作系統課程設計\其他\基于Linux網絡聊天室的設計3.doc
?????文件??????589312??2018-03-07?15:40??操作系統課程設計\其他\基于linux網絡聊天室的設計?(1).doc
?????文件??????469606??2018-03-07?15:40??操作系統課程設計\其他\基于linux網絡聊天室的設計?(2).doc
?????文件??????277504??2018-03-07?15:40??操作系統課程設計\其他\正文-基于linux網絡聊天室的設計.doc
?????文件??????274944??2018-03-07?16:34??操作系統課程設計\操作系統課程設計報告.doc
?????目錄???????????0??2018-03-07?16:34??操作系統課程設計\源代碼\
?????文件?????????105??2018-03-07?15:40??操作系統課程設計\源代碼\Makefile
?????文件???????10924??2018-03-07?15:40??操作系統課程設計\源代碼\client.c
?????文件?????????398??2018-03-07?15:40??操作系統課程設計\源代碼\fun.h
............此處省略3個文件信息

評論

共有 條評論