资源简介

网络编程 基于TCP/IP协议的 聊天室代码 可直接运行 支持单对单聊天和群聊

资源截图

代码片段和文件信息

#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 

#define IP 127.0.0.1
#define PORT 5678

struct user              //用户结构体
{
    char Username[20];
    char Passwd[20];
    int  cmd;
    int flag;
    char Nickname[20];
    char target_user[20];
    char content[50];
    int sockfd;
    int ID;
};
struct user user;

int socketfd;
void FuncInterface(int sockfd);    //功能界面
void End()
{    
    printf(“\t\t\033[33;32m please any key to continue... \033[0m\n\n“);
    printf(“\t\t“); 
    while(getchar()!=‘\n‘);
    getchar();
}
void Login(int sockfd)     //登陆界面
{
    char buf[20];
    system(“clear“);
    printf(“\t\t\033[33;32m**************************************************\033[0m  \n“);
    printf(“\t\t\033[33;32m    **********欢迎登入HGC聊天室****************   \033[0m\n“);
    printf(“\t\t\033[33;32m   * ||                                    || *   \033[0m \n“);
    printf(“\t\t\033[33;32m  *  ||                                    ||  *  \033[0m \n“);
    printf(“\t\t\033[33;32m *   ||   请输入用户名:                   ||   * \033[0m“);
    scanf(“%s“user.Username);
    printf(“\t\t\033[33;32m*    ||                                    ||    *\033[0m   \n“);
    printf(“\t\t\033[33;32m *   ||   请输入密码:                      ||   * \033[0m“);
    scanf(“%s“user.Passwd);
    printf(“\t\t\033[33;32m  *  ||                                    ||  *  \033[0m   \n“);
    printf(“\t\t\033[33;32m   * ||                                    || *   \033[0m   \n“);
    printf(“\t\t\033[33;32m    ******************************************    \033[0m  \n“);
    printf(“\t\t\033[33;32m**************************************************\033[0m  \n“);
    write(sockfd&usersizeof(user));
    read(sockfdbufsizeof(buf));
    if(strcmp(buf“ok“)==0)
        {
        sleep(1);
        FuncInterface(sockfd);
        }
    else if(strcmp(buf“fail“)==0)
    {
        printf(“\n\n“);
        printf(“\t\t\033[33;32m@_@登陆失败!!! \033[0m\n\n“);
        End();
    }
}

void *pth_read()
{
    int runcond = 1;
    int result;
    char pth_buf[100];
    
    while(runcond)
    {
        if(0 > (result = read(socketfdpth_bufsizeof(pth_buf))))
        {
            fprintf(stderr“Read Error:%s\n“strerror(errno));
        }
        printf(“\n%s\n“pth_buf);
    }
    pthread_exit(NULL);
}

int MainInterface(int sockfd)   //主界面
{
    system(“clear“);
    printf(“\t\t\033[33;32m                       ***    \033[0m\n“);
    printf(“\t\t\033[33;32m                       *    \033[0m\n“);
    printf(“\t\t\033[33;32m         ********     *      ********      \033[0m\n“);
    printf(“\t\t\033[33;32m      **************  *   **************       \033[0m\n“);
    printf(“\t\t\033[33;32m   **************************

评论

共有 条评论