⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cl.cpp

📁 chatServer.exe ------服务端安装包。 ------安装后执行桌面上的Chat服务
💻 CPP
字号:
#include<stdio.h>
#include<string.h>
#include<conio.h>
#include<dos.h>
#include<stdlib.h>
#include<time.h>
#include<windows.h>

char addr[15];     /*存储ip地址*/
char times[]="00:00:00";        /*时间初始化*/
char name[20];                  /*存储呢称*/

int inp();                      /*发送信息*/
void save();                    /*保存客户端信息*/
void sbat();                    /*生成连接服务器bat*/
void vbs();                     /*生成开启连接服务器的vbs*/
void lianjie();                 /*测试与服务器连接状态*/
void showfile();                /*检测并打开信息内容显示程序show.exe*/
void cldlfile();                /*测试并打开进程监控程序cldl.exe*/
void cldlvbs();                 /*生成开启进程监控vbs*/
void sxian();                   /*写入上线信息到服务器*/
void affiche();                 /*加载服务器公告*/
void gettime();                 /*获取当前时间*/
main()
{
  system("title 登陆-C chat system Client");
  printf("ip:");
  scanf("%s",addr);
  printf("输入呢称:");
  scanf("%s",name);
  save();
  system("title 正在连接服务器-C chat system Client");
  sbat();
  vbs();
  lianjie();
  system("title 正在文件检测-C chat system Client");
  showfile();
  cldlfile();
  system("title 登陆成功-C chat system Client");
  sxian();
  system("title 发送信息-C chat system Client");
  for(;;)
   inp();
}
int inp()
{
    FILE *fp=NULL;
    char tt[255];
    int i=1;
    printf("\x0d                              ");
    printf("\x0d发送:");
    scanf("%s",tt); 
    printf("正在发送...");
    while(fp==NULL)
    {
      if((fp=fopen("w:\\data.dat","wb"))!=NULL)  /*写入信息到服务器*/
      {fprintf(fp,"%s",name); fprintf(fp,":"); fprintf(fp,"%s",tt); fclose(fp);}
      else {                  /*写入信息失败,重新发送*/
            Sleep(2000);
            if(i==5)
              {printf("\n是否show.exe被关闭或与服务机中断连接,按任意键退出..."); getch(); exit(0);}
            printf("\n发送失败,重新发送(%d)",i);
            i++;
            }
    }
      
}
void sbat()
{
     FILE *fp;
     char bf=37;
     printf("正在连接服务机...\n");
     if((fp=fopen("c:\\windows\\cchatbat.bat","wb"))!=NULL)
     {fprintf(fp,"@echo off\r\nnet use w: \\\\%s\\chat 65559696 /user:cchat\r\ndel cchatvbs.vbs\r\ndel %c0",addr,bf); fclose(fp);}
     else {printf("erroe in open the file,press any key exit..."); getch(); exit(0);}
     fclose(fp);
     Sleep(1000);
}

void vbs()
{
     FILE *fp;
     if((fp=fopen("c:\\windows\\cchatvbs.vbs","wb"))!=NULL)
     {fprintf(fp,"CreateObject(\"WScript.Shell\").Run \"cmd /ccchatbat.bat\",0"); fclose(fp);system("start cchatvbs.vbs");}
     else {printf("erroe in open the file,press any key exit..."); getch(); exit(0);}
     Sleep(1000);
}
void cldlvbs()
{
     FILE *fp;
     if((fp=fopen("c:\\windows\\cldlvbs.vbs","wb"))!=NULL)
     {fprintf(fp,"CreateObject(\"WScript.Shell\").Run \"cmd /ccldl.exe\",0"); fclose(fp);system("start c:\\windows\\cldlvbs.vbs");}
     else {printf("erroe in open the file,press any key exit..."); getch(); exit(0);}
     Sleep(1000);
}
void sxian()
{
     FILE *fp=NULL;
     gettime();
     printf("%s\n",times);
     while(fp==NULL)      /*写入上线信息到服务器*/
     if((fp=fopen("w:\\data.dat","wb"))!=NULL)
     {fprintf(fp,"[%s],(%s)上线了...\r\n",times,name); fclose(fp);}
     for(;;)
     if((fp=fopen("w:\\sss.dat","ab+"))!=NULL)
     {fprintf(fp,"[%s],(%s)上线了...\r\n",times,name); fclose(fp);return;}
}
void lianjie()
{
     FILE *fp=NULL;
     int i;
     Sleep(1000);
     for(i=1;i<6;i++)
     {
     if(i==5)
       {printf("无法连接服务器,按任意键退出...\n"); getch(); exit(0); }
     else if((fp=fopen("w:\\l.dat","wb"))==NULL)
       {printf("连接失败,正在重连(%d)...\n",i);Sleep(2000);}
     else if((fp=fopen("w:\\l.dat","wb"))!=NULL)
       {printf("连接成功...\n"); Sleep(500); printf("加载公告...\n\n"); affiche(); return;}
     }
}
void affiche()
{
     FILE *fp;
     char ch[20];
     if((fp=fopen("w:\\gg.txt","rb"))!=NULL)
      {fscanf(fp,"%s",ch); system("type w:\\gg.txt"); printf("\n\n");return; fclose(fp);}
     else if((fp=fopen("w:\\gg.txt","rb"))==NULL)
      {printf("+-----------------------------+\n           C语言聊天室          \n|程序还未完善,如发现问题请联系本人.\n|Qq:65559696\n|By:张泽华\n+---------------------------+\n\n"); return;}
}
void showfile()
{
     FILE *fp=NULL;
     int i;
     for(i=1;i<6;i++)
     {
     if(i==5)
       {printf("必要文件Show.exe丢失,5秒后退出...\n"); for(i=6;i>1;i--) {printf("\x0d%d",i-1); Sleep(1000);}exit(0);}
     else if((fp=fopen("show.exe","rb"))!=NULL)
       {fclose(fp); system("start show.exe"); cldlvbs(); return;}
     }
}
void cldlfile()
{
     FILE *fp=NULL;
     int i;
     for(i=1;i<6;i++)
     {
     if((fp=fopen("show.exe","rb"))!=NULL)
      return;
     if(i==5)
      {printf("必要文件cldl.exe丢失,5秒后退出...\n"); for(i=6;i>1;i--) {printf("\x0d%d",i-1); Sleep(1000);}exit(0);}
     }
}
void gettime()
{
    time_t ltime;                                     /*时间结构体*/ 
    time(&ltime);                                     /*获取时间*/
    char tmp[20];
    int i,j=0;
    strcpy(tmp,ctime(&ltime));                        /*时间赋值*/
    for(i=11;i<19;i++)
    times[j++]=tmp[i];
}
void save()
{
     FILE *fp=NULL;
     if((fp=fopen("c:\\windows\\saveinfo.dat","wb"))!=NULL)
      {fprintf(fp,"%s\n%s\r\n",name,addr); fclose(fp); return;}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -