#ifndef _CHATING_H_
#define _CHATING_H_
#define _CHATING_H_
#include <stdlib.h>
#include <string.h>
#include <signal.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <pthread.h>
#include <time.h>
#include <termios.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <string.h>
#include <signal.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <pthread.h>
#include <time.h>
#include <termios.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#define PORT 8888
struct userinfo
{
int flag;//传输信息标志
char buf[100];//传输信息标志
char account[20];
char password[20];
char nickname[100];
char moto[256];
int likes;
char vip[20];
char qq_email[64];
char administrator[20];//管理员
char msg[1024];//存储对话消息
char to_nickname[20];//所要发送消息的对象昵称
int online_number;
char online_nickname[100][20];//存储在线人员名单//之前定义指针数组一直出错
char file_name[64];//文件名称
char file_content[4096];//文件内容
char shut_up[20];//禁言标志位
char tmp_name[20];//
};
typedef struct userinfo Userinfo;
struct node
{
struct sockaddr_in *client_addr;
char nickname[20];
char chat_record[1024];//链表保存聊天信息(谁发给谁)
struct node *next;
};
{
struct sockaddr_in *client_addr;
char nickname[20];
char chat_record[1024];//链表保存聊天信息(谁发给谁)
struct node *next;
};
typedef struct node Node;
void show_first1();
void show_first2();
void print_info();
int mygetch();
int getpasswd(char *passwd, int size);
int client_creat();
int Register(Userinfo *sendbuf);
int Login(Userinfo *sendbuf);
void login_screen();
void chat_function(int *sockfd, struct sockaddr_in *server_addr);
void *read_from_server(void *arg);
void show_first2();
void print_info();
int mygetch();
int getpasswd(char *passwd, int size);
int client_creat();
int Register(Userinfo *sendbuf);
int Login(Userinfo *sendbuf);
void login_screen();
void chat_function(int *sockfd, struct sockaddr_in *server_addr);
void *read_from_server(void *arg);
#endif
#include <stdio.h>
#include "client.h"
#include "client.h"
extern Userinfo RECVBUF;
extern OUT;
extern OUT1;
char time_info[128] = {0};
extern OUT;
extern OUT1;
char time_info[128] = {0};
void time_show()
{
time_t rawtime;
struct tm *timeinfo;
time (&rawtime);
timeinfo = localtime(&rawtime);
printf("时间: %d 年 %d 月 %d 日 %d 时 %d 分 %d 秒\n\n", timeinfo->tm_year + 1900, timeinfo->tm_mon + 1, timeinfo->tm_mday, timeinfo->tm_hour, timeinfo->tm_min, timeinfo->tm_sec);
}
{
time_t rawtime;
struct tm *timeinfo;
time (&rawtime);
timeinfo = localtime(&rawtime);
printf("时间: %d 年 %d 月 %d 日 %d 时 %d 分 %d 秒\n\n", timeinfo->tm_year + 1900, timeinfo->tm_mon + 1, timeinfo->tm_mday, timeinfo->tm_hour, timeinfo->tm_min, timeinfo->tm_sec);
}
char *time_show1()
{
time_t rawtime;
struct tm *timeinfo;
time (&rawtime);
timeinfo = localtime(&rawtime);
sprintf(time_info, "时间: %d 年 %d 月 %d 日 %d 时 %d 分 %d 秒\n\n", timeinfo->tm_year + 1900, timeinfo->tm_mon + 1, timeinfo->tm_mday, timeinfo->tm_hour, timeinfo->tm_min, timeinfo->tm_sec);
return time_info;
}
void show()//欢迎界面
{
system("clear");
system("tput cup 1 0"); printf("\e[0;34;1m=\e[0m\n");
system("tput cup 10 102");printf("\e[0;34;1m=\e[0m\n");usleep(80000);
{
time_t rawtime;
struct tm *timeinfo;
time (&rawtime);
timeinfo = localtime(&rawtime);
sprintf(time_info, "时间: %d 年 %d 月 %d 日 %d 时 %d 分 %d 秒\n\n", timeinfo->tm_year + 1900, timeinfo->tm_mon + 1, timeinfo->tm_mday, timeinfo->tm_hour, timeinfo->tm_min, timeinfo->tm_sec);
return time_info;
}
void show()//欢迎界面
{
system("clear");
system("tput cup 1 0"); printf("\e[0;34;1m=\e[0m\n");
system("tput cup 10 102");printf("\e[0;34;1m=\e[0m\n");usleep(80000);
system("clear");
system("tput cup 1 0"); printf("=\e[0;34;1m=\e[0m\n");
system("tput cup 10 101");printf("\e[0;34;1m=\e[0m=\n");usleep(80000);
system("tput cup 1 0"); printf("=\e[0;34;1m=\e[0m\n");
system("tput cup 10 101");printf("\e[0;34;1m=\e[0m=\n");usleep(80000);
system("clear");
system("tput cup 1 0"); printf("==\e[0;34;1m=\e[0m\n");
system("tput cup 10 100");printf("\e[0;34;1m=\e[0m==\n");usleep(80000);
system("tput cup 1 0"); printf("==\e[0;34;1m=\e[0m\n");
system("tput cup 10 100");printf("\e[0;34;1m=\e[0m==\n");usleep(80000);
system("clear");
system("tput cup 1 0"); printf("===\e[0;34;1m=\e[0m\n");
system("tput cup 10 99");printf("\e[0;34;1m=\e[0m===\n");usleep(80000);
system("tput cup 1 0"); printf("===\e[0;34;1m=\e[0m\n");
system("tput cup 10 99");printf("\e[0;34;1m=\e[0m===\n");usleep(80000);
system("clear");//5
system("tput cup 1 0"); printf("====\e[0;34;1m=\e[0m\n");
system("tput cup 10 98");printf("\e[0;34;1m=\e[0m====\n");usleep(80000);
system("tput cup 1 0"); printf("====\e[0;34;1m=\e[0m\n");
system("tput cup 10 98");printf("\e[0;34;1m=\e[0m====\n");usleep(80000);
system("clear");
system("tput cup 1 0"); printf("=====\e[0;34;1m=\e[0m\n");
system("tput cup 10 97");printf("\e[0;34;1m=\e[0m=====\n");usleep(80000);
system("tput cup 1 0"); printf("=====\e[0;34;1m=\e[0m\n");
system("tput cup 10 97");printf("\e[0;34;1m=\e[0m=====\n");usleep(80000);
system("clear");
system("tput cup 1 0"); printf("======\e[0;34;1m=\e[0m\n");
system("tput cup 10 96");printf("\e[0;34;1m=\e[0m======\n");usleep(80000);
system("tput cup 1 0"); printf("======\e[0;34;1m=\e[0m\n");
system("tput cup 10 96");printf("\e[0;34;1m=\e[0m======\n");usleep(80000);
system("clear");
system("tput cup 1 0"); printf("=======\e[0;34;1m=\e[0m\n");
system("tput cup 10 95");printf("\e[0;34;1m=\e[0m=======\n");usleep(80000);
system("tput cup 1 0"); printf("=======\e[0;34;1m=\e[0m\n");
system("tput cup 10 95");printf("\e[0;34;1m=\e[0m=======\n");usleep(80000);
system("clear");
system("tput cup 1 0"); printf("========\e[0;34;1m=\e[0m\n");
system("tput cup 10 94");printf("\e[0;34;1m=\e[0m========\n");usleep(80000);
system("tput cup 1 0"); printf("========\e[0;34;1m=\e[0m\n");
system("tput cup 10 94");printf("\e[0;34;1m=\e[0m========\n");usleep(80000);
system("clear");//10
system("tput cup 1 0"); printf("=========\e[0;34;1m=\e[0m\n");
system("tput cup 10 93");printf("\e[0;34;1m=\e[0m=========\n");usleep(80000);
system("tput cup 1 0"); printf("=========\e[0;34;1m=\e[0m\n");
system("tput cup 10 93");printf("\e[0;34;1m=\e[0m=========\n");usleep(80000);
system("clear");
system("tput cup 1 0"); printf("==========\e[0;34;1m=\e[0m\n");
system("tput cup 10 92");printf("\e[0;34;1m=\e[0m==========\n");usleep(80000);
system("tput cup 1 0"); printf("==========\e[0;34;1m=\e[0m\n");
system("tput cup 10 92");printf("\e[0;34;1m=\e[0m==========\n");usleep(80000);
system("clear");
system("tput cup 1 0"); printf("===========\e[0;34;1m=\e[0m\n");
system("tput cup 10 91");printf("\e[0;34;1m=\e[0m===========\n");usleep(80000);
system("tput cup 1 0"); printf("===========\e[0;34;1m=\e[0m\n");
system("tput cup 10 91");printf("\e[0;34;1m=\e[0m===========\n");usleep(80000);
system("clear");
system("tput cup 1 0"); printf("============\e[0;34;1m=\e[0m\n");
system("tput cup 10 90");printf("\e[0;34;1m=\e[0m============\n");usleep(80000);
system("tput cup 1 0"); printf("============\e[0;34;1m=\e[0m\n");
system("tput cup 10 90");printf("\e[0;34;1m=\e[0m============\n");usleep(80000);
system("clear");
system("tput cup 1 0"); printf("=============\e[0;34;1m=\e[0m\n");
system("tput cup 10 89");printf("\e[0;34;1m=\e[0m=============\n");usleep(80000);
system("tput cup 1 0"); printf("=============\e[0;34;1m=\e[0m\n");
system("tput cup 10 89");printf("\e[0;34;1m=\e[0m=============\n");usleep(80000);
system("clear");//15
system("tput cup 1 0"); printf("==============\e[0;34;1m=\e[0m\n");
system("tput cup 4 15");printf("\e[0;34;1m自\e[0m\n");
system("tput cup 10 88");printf("\e[0;34;1m=\e[0m==============\n");usleep(500000);
system("tput cup 1 0"); printf("==============\e[0;34;1m=\e[0m\n");
system("tput cup 4 15");printf("\e[0;34;1m自\e[0m\n");
system("tput cup 10 88");printf("\e[0;34;1m=\e[0m==============\n");usleep(500000);
system("clear");//20
system("tput cup 1 0"); printf("===============\e[0;34;1m=\e[0m\n");
system("tput cup 4 15");printf("自 \e[0;34;1m在\e[0m\n");
system("tput cup 10 87");printf("\e[0;34;1m=\e[0m===============\n");usleep(500000);
system("tput cup 1 0"); printf("===============\e[0;34;1m=\e[0m\n");
system("tput cup 4 15");printf("自 \e[0;34;1m在\e[0m\n");
system("tput cup 10 87");printf("\e[0;34;1m=\e[0m===============\n");usleep(500000);
system("clear");
system("tput cup 1 0"); printf("================\e[0;34;1m=\e[0m\n");
system("tput cup 4 15");printf("自 在 \e[0;34;1m飞\e[0m\n");
system("tput cup 10 86");printf("\e[0;34;1m=\e[0m================\n");usleep(500000);
system("tput cup 1 0"); printf("================\e[0;34;1m=\e[0m\n");
system("tput cup 4 15");printf("自 在 \e[0;34;1m飞\e[0m\n");
system("tput cup 10 86");printf("\e[0;34;1m=\e[0m================\n");usleep(500000);
system("clear");
system("tput cup 1 0"); printf("=================\e[0;34;1m=\e[0m\n");
system("tput cup 4 15");printf("自 在 飞 \e[0;34;1m花\e[0m\n");
system("tput cup 10 85");printf("\e[0;34;1m=\e[0m=================\n");usleep(500000);
system("tput cup 1 0"); printf("=================\e[0;34;1m=\e[0m\n");
system("tput cup 4 15");printf("自 在 飞 \e[0;34;1m花\e[0m\n");
system("tput cup 10 85");printf("\e[0;34;1m=\e[0m=================\n");usleep(500000);
system("clear");
system("tput cup 1 0"); printf("==================\e[0;34;1m=\e[0m\n");
system("tput cup 4 15");printf("自 在 飞 花 \e[0;34;1m轻\e[0m\n");
system("tput cup 10 84");printf("\e[0;34;1m=\e[0m==================\n");usleep(500000);
system("tput cup 1 0"); printf("==================\e[0;34;1m=\e[0m\n");
system("tput cup 4 15");printf("自 在 飞 花 \e[0;34;1m轻\e[0m\n");
system("tput cup 10 84");printf("\e[0;34;1m=\e[0m==================\n");usleep(500000);
system("clear");
system("tput cup 1 0"); printf("===================\e[0;34;1m=\e[0m\n");
system("tput cup 4 15");printf("自 在 飞 花 轻 \e[0;34;1m似\e[0m\n");
system("tput cup 10 83");printf("\e[0;34;1m=\e[0m===================\n");usleep(500000);
system("tput cup 1 0"); printf("===================\e[0;34;1m=\e[0m\n");
system("tput cup 4 15");printf("自 在 飞 花 轻 \e[0;34;1m似\e[0m\n");
system("tput cup 10 83");printf("\e[0;34;1m=\e[0m===================\n");usleep(500000);
system("clear");
system("tput cup 1 0"); printf("====================\e[0;34;1m=\e[0m\n");
system("tput cup 4 15");printf("自 在 飞 花 轻 似 \e[0;34;1m梦\e[0m\n");
system("tput cup 10 82");printf("\e[0;34;1m=\e[0m====================\n");usleep(500000);
system("tput cup 1 0"); printf("====================\e[0;34;1m=\e[0m\n");
system("tput cup 4 15");printf("自 在 飞 花 轻 似 \e[0;34;1m梦\e[0m\n");
system("tput cup 10 82");printf("\e[0;34;1m=\e[0m====================\n");usleep(500000);
system("clear");
system("tput cup 1 0"); printf("=====================\e[0;34;1m=\e[0m\n");
system("tput cup 4 15");printf("自 在 飞 花 轻 似 梦\n");
system("tput cup 5 49");printf("\e[0;31;1m,\e[0;31;0m\n");
system("tput cup 10 81");printf("\e[0;34;1m=\e[0m=====================\n");usleep(500000);
system("tput cup 1 0"); printf("=====================\e[0;34;1m=\e[0m\n");
system("tput cup 4 15");printf("自 在 飞 花 轻 似 梦\n");
system("tput cup 5 49");printf("\e[0;31;1m,\e[0;31;0m\n");
system("tput cup 10 81");printf("\e[0;34;1m=\e[0m=====================\n");usleep(500000);
system("clear");
system("tput cup 1 0"); printf("======================\e[0;34;1m=\e[0m\n");
system("tput cup 4 15");printf("自 在 飞 花 轻 似 梦\n");
system("tput cup 5 49");printf("\e[0;31;1m,\e[0;31;0m\n");
system("tput cup 6 53");printf("\e[0;34;1m无\e[0;34;0m\n");
system("tput cup 10 80");printf("\e[0;34;1m=\e[0m======================\n");usleep(500000);
system("tput cup 1 0"); printf("======================\e[0;34;1m=\e[0m\n");
system("tput cup 4 15");printf("自 在 飞 花 轻 似 梦\n");
system("tput cup 5 49");printf("\e[0;31;1m,\e[0;31;0m\n");
system("tput cup 6 53");printf("\e[0;34;1m无\e[0;34;0m\n");
system("tput cup 10 80");printf("\e[0;34;1m=\e[0m======================\n");usleep(500000);
system("clear");
system("tput cup 1 0"); printf("=======================\e[0;34;1m=\e[0m\n");
system("tput cup 4 15");printf("自 在 飞 花 轻 似 梦\n");
system("tput cup 5 49");printf("\e[0;31;1m,\e[0;31;0m\n");
system("tput cup 6 53");printf("无 \e[0;34;1m边\e[0;34;0m\n");
system("tput cup 10 79");printf("\e[0;34;1m=\e[0m=======================\n");usleep(500000);
system("tput cup 1 0"); printf("=======================\e[0;34;1m=\e[0m\n");
system("tput cup 4 15");printf("自 在 飞 花 轻 似 梦\n");
system("tput cup 5 49");printf("\e[0;31;1m,\e[0;31;0m\n");
system("tput cup 6 53");printf("无 \e[0;34;1m边\e[0;34;0m\n");
system("tput cup 10 79");printf("\e[0;34;1m=\e[0m=======================\n");usleep(500000);
system("clear");
system("tput cup 1 0"); printf("========================\e[0;34;1m=\e[0m\n");
system("tput cup 4 15");printf("自 在 飞 花 轻 似 梦\n");
system("tput cup 5 49");printf("\e[0;31;1m,\e[0;31;0m\n");
system("tput cup 6 53");printf("无 边 \e[0;34;1m丝\e[0;34;0m\n");
system("tput cup 10 78");printf("\e[0;34;1m=\e[0m========================\n");usleep(500000);
system("tput cup 1 0"); printf("========================\e[0;34;1m=\e[0m\n");
system("tput cup 4 15");printf("自 在 飞 花 轻 似 梦\n");
system("tput cup 5 49");printf("\e[0;31;1m,\e[0;31;0m\n");
system("tput cup 6 53");printf("无 边 \e[0;34;1m丝\e[0;34;0m\n");
system("tput cup 10 78");printf("\e[0;34;1m=\e[0m========================\n");usleep(500000);
system("clear");
system("tput cup 1 0"); printf("=========================\e[0;34;1m=\e[0m\n");
system("tput cup 4 15");printf("自 在 飞 花 轻 似 梦\n");
system("tput cup 5 49");printf("\e[0;31;1m,\e[0;31;0m\n");
system("tput cup 6 53");printf("无 边 丝 \e[0;34;1m雨\e[0;34;0m\n");
system("tput cup 10 77");printf("\e[0;34;1m=\e[0m=========================\n");usleep(500000);
system("tput cup 1 0"); printf("=========================\e[0;34;1m=\e[0m\n");
system("tput cup 4 15");printf("自 在 飞 花 轻 似 梦\n");
system("tput cup 5 49");printf("\e[0;31;1m,\e[0;31;0m\n");
system("tput cup 6 53");printf("无 边 丝 \e[0;34;1m雨\e[0;34;0m\n");
system("tput cup 10 77");printf("\e[0;34;1m=\e[0m=========================\n");usleep(500000);
system("clear");
system("tput cup 1 0"); printf("==========================\e[0;34;1m=\e[0m\n");
system("tput cup 4 15");printf("自 在 飞 花 轻 似 梦\n");
system("tput cup 5 49");printf("\e[0;31;1m,\e[0;31;0m\n");
system("tput cup 6 53");printf("无 边 丝 雨 \e[0;34;1m细\e[0;34;0m\n");
system("tput cup 10 76");printf("\e[0;34;1m=\e[0m==========================\n");usleep(500000);
system("tput cup 1 0"); printf("==========================\e[0;34;1m=\e[0m\n");
system("tput cup 4 15");printf("自 在 飞 花 轻 似 梦\n");
system("tput cup 5 49");printf("\e[0;31;1m,\e[0;31;0m\n");
system("tput cup 6 53");printf("无 边 丝 雨 \e[0;34;1m细\e[0;34;0m\n");
system("tput cup 10 76");printf("\e[0;34;1m=\e[0m==========================\n");usleep(500000);
system("clear");
system("tput cup 1 0"); printf("===========================\e[0;34;1m=\e[0m\n");
system("tput cup 4 15");printf("自 在 飞 花 轻 似 梦\n");
system("tput cup 5 49");printf("\e[0;31;1m,\e[0;31;0m\n");
system("tput cup 6 5
system("tput cup 1 0"); printf("===========================\e[0;34;1m=\e[0m\n");
system("tput cup 4 15");printf("自 在 飞 花 轻 似 梦\n");
system("tput cup 5 49");printf("\e[0;31;1m,\e[0;31;0m\n");
system("tput cup 6 5