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

📄 jcq.cpp

📁 即时通信程序(类似于QQ,MSN) 用C写的
💻 CPP
字号:
#include "../network/network.h"
#include "gui.h"
#define SERVER_IP "localhost"

network *net;
extern bool online;
extern struct _gui gui;


bool
envoi_message(char *dest, char *msg)
{
 char tmp[255];
 sprintf(tmp, "%s#%s", dest, msg);
// printf("envoi_message  > Envoi de %s\n", tmp);
 if (net->envoi(-1,"MSG", tmp))
  return true;
 else
  return false;
}

bool
idle_func(GtkWidget *widget, gpointer data)
{

 if (!online)
  return true;

  //MAJ des arriv閑s depuis le serveur
  net->update_input();
  struct _paquet* paquets = net->get_paquets();
  struct _paquet* tmp = paquets;


  while (tmp)
  {
    if (!strcmp(tmp->tag, "MSG"))  
    {
      //Parsing du message
      int i=0;
      char dest[255];
      char msg[255];
      while ((tmp->valeur[i] != '#')&&(i < strlen(tmp->valeur)))
        i++;

      strncpy(dest, tmp->valeur, i);
      dest[i] = '\0';
      for (int j=i+1; j < strlen(tmp->valeur); j++)
        msg[j-(i+1)] = tmp->valeur[j];
      msg[strlen(tmp->valeur)-i-1] = '\0';
	  popup_manager(dest, msg);
    }
    else if (!strcmp(tmp->tag, "ERR"))
    {
     errormsg(gui.window, "Erreur ! %s\n", tmp->valeur);
    }
    else if (!strcmp(tmp->tag, "LISTE_CLIENTS"))
    {
      maj_modele(tmp->valeur);
    }
    
    struct _paquet* tmp2 = tmp;
    tmp = tmp->next;
    free(tmp2);
  }
  
  //Maj des sorties
  net->update_output();

  return true;
}

int
main(int argc, char *argv[])
{
 net = new network(3210);
 net->set_debug(0);
 start_gui(argc, argv);
}

⌨️ 快捷键说明

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