资源简介
网络聊天室源码,有需要的可以下载下来看一下,实现的功能有群聊私聊,管理员模式,禁言模式,并附Mysql数据库API
代码片段和文件信息
/*************************************************************************
> File Name: client.c
> Author:
> Mail:
> Created Time: 2019年11月18日 星期一 09时38分35秒
************************************************************************/
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
/*全局变量定义区*/
#define PORT 6666
#define IP “127.0.0.1“
int num_bflognum = 0;
int retsocknewlensockid;
pthread_attr_t attr;
struct sockaddr_in Chat_inf;
pthread_t pthid_creatpthid_loginpthid_forgetpthid_wpthid_rpthid_leavepthid_onpthid_grouppthid_privatepthid_allpthid_Rpthid_his;
struct HIS{
char history[256];//历史消息
int num;//功能类型
int flag;//私聊回复
int GC;//群聊标志位
int PC;//私聊标志位
char Me[20];//客户端ID
char object[10];//私聊对象/群聊中禁言对象
int JY;//申请标志位(1为未同意0为同意)
};
struct HIS Note;
struct INF{
char name[20];//昵称(名字是root或者是ROOT的昵称代表是管理员)
char pwd[10];//密码
char pwd_mark[100];//密保问题
char pwd_point[100];//密保答案
int power;//登录成功的标志(1在线0离线)
int sock;//登录时的通信套接字
};
struct INF inf;//详细信息结构体
/*子函数定义区*/
void list_1(void);//登录注册界面的显示函数
void list_2(void);//主界面的显示函数
void *Create_account(void* arg);//创建账号
void *Log_in(void* arg);//帐号密码登录
void *Forget_pwd(void* arg);//忘记密码
void *Read(void* arg);//读进程
void *Write(void* arg);//写进程
void *Group_chat(void* arg);//群聊
void *Private_chat(void* arg);//私聊申请
void *On_line(void* arg);//此时在线人数
void *Off_line(void* arg);//离线
void *All(void* arg);//list2有东西就接受
void *Peron(void* arg);//私聊函数
void *READ(void* arg);//私聊读函数
void *Group_history(void* arg);//群聊历史消息
void list_1(void)
{
printf(“1.注册帐号\n“);
printf(“2.帐号密码登录\n“);
printf(“3.忘记密码\n“);
printf(“0.退出系统\n“);
}
void list_2(void)
{
printf(“********************\n“);
printf(“用户:%s 欢迎您的使用!\n“inf.name);
printf(“********************\n“);
printf(“4.显示当前在线\n“);
printf(“5.群聊\n“);
printf(“6.私聊\n“);
printf(“7.离线\n“);
printf(“8.查看申请消息\n“);
printf(“9.清屏\n“);
printf(“10.查看历史群聊记录\n“);
}
void *Create_account(void* arg)
{
int fd = *(int *)arg;
int flag;
int boom;
int shark = 0;
char Account[20]={0};
send(fd&Notesizeof(Note)0);
printf(“欢迎进入账户注册\n“);
Name:
printf(“请创建昵称\n“);
scanf(“%s“inf.name);
/* send(fd&inf.namesizeof(inf.name)0);
recv(fdAccountsizeof(Account)0);
if(strcmp(inf.nameAccount) == 0)
{
printf(“该昵称已被占用\n“);
shark = 1;
send(fd&sharksizeof(int)0);
goto Name;
}
shark = 0;
send(fd&sharksizeof(int)0);
*/
printf(“请创建密码\n“);
scanf(“%s“inf.pwd);
/* printf(“请选择是否设置密保\n1.设置\n2.跳过\n“);
scanf(“%d“&flag);
if(flag == 2)
{
printf(“正在跳过密保设置\n“);
goto JUMP;
}
*/
printf(“请设置密保问
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 19024 2019-11-26 11:59 网络聊天室源代码\chat\c
文件 14963 2019-12-26 19:34 网络聊天室源代码\chat\client.c
文件 81 2019-11-25 09:46 网络聊天室源代码\chat\makefile
文件 23208 2019-11-26 11:59 网络聊天室源代码\chat\s
文件 15957 2019-12-26 19:39 网络聊天室源代码\chat\server.c
文件 157 2019-12-23 20:02 网络聊天室源代码\chatroom_ESC\1.txt
文件 21984 2019-12-23 20:02 网络聊天室源代码\chatroom_ESC\a.out
文件 18744 2019-12-23 20:02 网络聊天室源代码\chatroom_ESC\c
文件 13561 2019-12-23 20:02 网络聊天室源代码\chatroom_ESC\client.c
文件 22616 2019-12-23 20:02 网络聊天室源代码\chatroom_ESC\s
文件 35029 2019-12-23 20:02 网络聊天室源代码\chatroom_ESC\server.c
文件 1328 2019-12-19 11:08 网络聊天室源代码\苏晓东\all.h
文件 24612 2019-12-24 11:33 网络聊天室源代码\苏晓东\client.c
文件 1277 2019-12-23 15:21 网络聊天室源代码\苏晓东\readme.txt
文件 15546 2019-12-24 16:42 网络聊天室源代码\苏晓东\server.c
目录 0 2019-12-26 19:30 网络聊天室源代码\chat
目录 0 2019-12-23 21:14 网络聊天室源代码\chatroom_ESC
目录 0 2019-12-25 16:19 网络聊天室源代码\苏晓东
目录 0 2019-12-26 19:30 网络聊天室源代码
----------- --------- ---------- ----- ----
228087 19
- 上一篇:一个简单的LabVIEW 登录界面
- 下一篇:简易人事管理系统pyqt5+mysql
相关资源
- Linux System Programming 2nd edition.pdf
- Linux下的MySQL依赖包(所有perl).rar
- Oracle 11g for linux安装指南
- linux电子词典项目(sqlite3数据库)
- 一步一步在Linux上部署Oracle 11.2.0.3 R
- mysql-3.23.58-pc-linux-i686.tar.gz
-
linux的rpm包aaa_ba
se - Oracle 11g RAC+DG 非常牛逼的部署手册
- oracle bbed包
- oracle11g 安装依赖包redhat 6.9 64位
- Linux+Oracle 11g+RAC+12cc+adg中国史上最详细
- SUSE Linux 11上安装Oracle 11g的详细步骤
- Linux--Oracle-11g-R2-RAC-安装配置详细过程
- 基于Socket技术的多人聊天室系统源码
- linux 上的 mysql 连接驱动类文件包
- LinuxCentOS7.3系统从入门到精通完整版
- arm环境下执行的sqlcipher
- Linux下Oracle 11g数据库安装
- oracle linux7.2 安装oracle 11.2.0.4全过程图
- Linux_UNIX OpenLDAP实战指南.pdf
- Introduction to Linux A Hands on Guide 中文版
- PLX PCI卡 linux驱动
- navicat_for_mysql_10.0.11_cn_linux.tar.gz的安装
- oracle10G linux客户端
- mysql for linux版本, MySQL-server-communit
- mysql5.1.7-rpm for linux
- MONyog-8.6.0-0_X32_X64_RPM
- mysql-connector-odbc-5.2.6-linux-glibc2.5-x86-
- subversion1.9.5以及所有依赖包和安装教
- Linux下安装oracle所需的依赖库rpm安装包
评论
共有 条评论