-
大小: 42KB文件類型: .zip金幣: 2下載: 0 次發(fā)布日期: 2021-05-07
- 語言: 其他
- 標(biāo)簽:
資源簡介
lsd遠(yuǎn)程終端管理系統(tǒng)完整功能,包括聊天功能,還有項(xiàng)目思路,以及配置文件。
詳情介紹: http://blog.csdn.net/hengqiaqia/article/details/77967547
如有問題可以咨詢 QQ:976968684

代碼片段和文件信息
#include?“head.h“
int?sockfd?=?0;
int?heart_id; //心跳包id
char?heart_name[1024];//心跳包的name
int?flag=0; //新加入聊天用戶標(biāo)志位
int?te=0; //新加入聊天用戶用戶名
void?sig_handler(int?signo);
char*?get_array(char*p?char*?filenamechar*?value);//成功返回p,失敗返回NULL
//獲取時(shí)間
char?*mygettime()
{
//time?(?&rawtime?);?--?獲取時(shí)間,以秒計(jì),從1970年1月一日起算,存于rawtime?
//localtime?(?&rawtime?);?--?轉(zhuǎn)為當(dāng)?shù)貢r(shí)間,tm?時(shí)間結(jié)構(gòu)?
//asctime?()--?轉(zhuǎn)為標(biāo)準(zhǔn)ASCII時(shí)間格式:?
//星期?月?日?時(shí):分:秒?年
time_t?rawtime;?
struct?tm?*?timeinfo;?
time?(?&rawtime?);?
timeinfo?=?localtime?(?&rawtime?);?
return?asctime(timeinfo);
}
//退出與服務(wù)器的連接
void?client_exit(int?sockfd)
{
Packet?datapack;
memset(&datapack0sizeof(datapack));
datapack.data_type?=?TYPE_EXITT;//正常退出
if(write(sockfd&datapacksizeof(Packet))==-1)
{
fprintf(stderr“文件名:%s?函數(shù)名:%s?行號(hào):%d?錯(cuò)誤原因:%s\n“__FILE____func____LINE__strerror(errno));
exit(EXIT_FAILURE);
}
printf(“歡迎下次再來!\n“);
exit(EXIT_SUCCESS);
}
//退出登陸界面
void?user_exit(int?sockfdint?id)
{
Packet?datapack;
memset(&datapack0sizeof(datapack));
datapack.id=id;
datapack.data_type?=?TYPE_EXIT;//正常退出登陸的數(shù)據(jù)包類型
if(write(sockfd&datapacksizeof(Packet))==-1)
{
fprintf(stderr“文件名:%s?函數(shù)名:%s?行號(hào):%d?錯(cuò)誤原因:%s\n“__FILE____func____LINE__strerror(errno));
exit(EXIT_FAILURE);
}
alarm(0);//停止發(fā)送心跳包
}
//主菜單
void?menu()
{
system(“clear“);
printf(“當(dāng)前時(shí)間:%s\n“mygettime());
printf(“******遠(yuǎn)程終端管理系統(tǒng)******\n“);
printf(“\t1>注冊\n“);
printf(“\t2>登陸\n“);
printf(“\t0>退出\n“);
printf(“*******************************\n“);
}
void?showdynamictime()
{
tTime++;
????if(tTime?>=?1000000)????????????????//
????????tTime?=?0;
????if(1?!=?tTime?%?50)
????????return;
????//顯示時(shí)間
????printf(“計(jì)時(shí):?%d:%d:%d?%d“?hour?minute?second);
????second++;
????if(second?>?NUM)
????{
????????second?=?0;
????????minute++;
????}
????if(minute?>?NUM)
????{
????????minute?=?0;
????????hour++;
????}
}
void?menu_success(char*?name)
{
printf(“請按回車鍵繼續(xù)\n“);
getchar();
system(“clear“);
printf(“時(shí)間:%s\n“mygettime());
showdynamictime();
printf(“歡迎-%s-進(jìn)入聊天系統(tǒng)!\n“name);
printf(“*******歡迎進(jìn)入個(gè)人登錄界面*******\n“);
printf(“\t1>遠(yuǎn)程終端命令\n“);
printf(“\t2>聊天功能\n“);
printf(“\t3>查看在線用戶\n“);
printf(“\t0>退出客戶端\n“);
printf(“**********************************\n“);
}
void?*func_thread(void*?arg)
{
Packet?datapack;//聊天數(shù)據(jù)包
memset(&datapack0sizeof(datapack));
int?ret?=?0;
while(1)
{
if((ret=read(sockfd&datapacksizeof(Packet)))==-1)
{
fprintf(stderr“文件名:%s?函數(shù)名:%s?行號(hào):%d?錯(cuò)誤原因:%s\n“__FILE____func____LINE__strerror(errno));
exit(EXIT_FAILURE);
}
if(strcmp(datapack.message“end“)==0)
{
break;
}
if(datapack.chatid==222){
printf(“用戶%s給你發(fā)送了群聊消息:%s\n“datapack.namedatapack.message);
}else{
printf(“用戶%s給你發(fā)送了一條消息:%s\n“datapack.namedatapack.message);
}
}
pthread_exit(NULL);
}
//進(jìn)入聊天室函數(shù)
void?chat(int?sockfdint?idchar*?name)
{
Packet?datapack;
memset(&datapack0sizeof(datapack));
datapack.id=id;
strcpy(datapack.namename);
printf(“-用戶%s-正在聊天室\n“datapack.name);
//創(chuàng)建子線程
pthread_t?a_thread;
pthread_attr_t?attr;
pthre
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????文件???????22124??2017-09-08?08:53??demo\cli
?????文件??????????28??2017-09-04?01:46??demo\配置文件~
?????文件??????????28??2017-09-08?01:50??demo\配置文件s~
?????文件?????????656??2017-09-11?02:50??demo\日志.txt
?????文件???????22239??2017-09-11?02:48??demo\ser
?????文件??????????27??2017-09-08?01:52??demo\配置文件c
?????文件??????????27??2017-09-08?01:52??demo\配置文件s
?????文件????????2171??2017-09-08?07:00??demo\head.h~
?????文件???????18942??2017-09-08?08:17??demo\server.c~
?????文件?????????211??2017-09-08?03:38??demo\client.txt
?????文件???????????0??2017-09-06?03:02??demo\client.txt~
?????文件???????18944??2017-09-11?02:48??demo\server.c
?????文件????????2191??2017-09-08?07:03??demo\head.h
?????文件???????16549??2017-09-08?08:52??demo\client.c
?????文件???????16549??2017-09-08?08:52??demo\client.c~
?????文件??????????28??2017-09-08?01:52??demo\配置文件c~
?????目錄???????????0??2017-09-11?02:53??demo\
評(píng)論
共有 條評(píng)論