• 大小: 753KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-28
  • 语言: C/C++
  • 标签: 聊天程序  

资源简介

这部分代码主要是基于Linux系统,使用c语言进行的聊天程序的开发。包括界面大的设计,界面使用的技术为GTK。

资源截图

代码片段和文件信息

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

static GtkWidget *entry1;
static GtkWidget *text;

gchar current_user[1024];
gint sockfdconnfd; 
struct sockaddr_in server; 
struct sockaddr_in client; 
socklen_t addrlen; 
gchar buf[1024];
gchar get_buf[1024]; 
gboolean isconnected = FALSE; 
static GtkWidget *text_record*text_send; 
static GtkTextBuffer *buffer_record*buffer_send*buffer_history; 
static GtkWidget* user_entry;
static GtkWidget* password_entry;
static GtkWidget* history_search_entry;

MYSQL *mysql;
MYSQL_RES *mysql_res;
MYSQL_ROW mysql_row;
char query[1024];
int rows;
int count;
time_t t;

/*连接数据库*/
void mysql_connect(void)
{
if(!(mysql=mysql_init(NULL)))
{
printf(“mysql_init wrong!“);
mysql_close(mysql);
exit(0);
}

if(!mysql_real_connect(mysql“localhost““root“NULL“wechatclient“0NULL0))
{
printf(“connect wrong!“);
mysql_close(mysql);
exit(0);
}
sprintf(query“create table if not exists history(time varchar(30)content varchar(300));“);
if(mysql_query(mysqlquery))
{
printf(“create history failed!\n“);
mysql_close(mysql);
exit(0);
}
sprintf(query“create table if not exists userdata(user varchar(30)password varchar(300)name varchar(30)id int(5)age int(5));“);
if(mysql_query(mysqlquery))
{
printf(“create userdata failed!\n“);
mysql_close(mysql);
exit(0);
}
sprintf(query“create table if not exists friends(name varchar(30)address varchar(300));“);
if(mysql_query(mysqlquery))
{
printf(“create friends failed!\n“);
mysql_close(mysql);
exit(0);
}
printf(“mysql connect success!\n“);
}
/* 建立通信连接*/
gboolean socket_connect(void) 

GtkTextIter iter; 
    if ((sockfd=socket(AF_INETSOCK_STREAM0))==-1) 
    { 
         printf(“Create socket failed\n“);
 perror(“socket()“); 
         return -1; 

server.sin_family=AF_INET; 
server.sin_port=htons(3333); 
server.sin_addr.s_addr=inet_addr(“127.0.0.1“);

    connfd=connect(sockfd(struct sockaddr *)&serversizeof(server)); 
    printf(“connfd = %d\n“connfd);
    if (connfd==-1) 
    { 
        printf(“connect failed\n“);
        perror(“connect()“); 
        return -1; 

    else 

        gtk_text_buffer_get_start_iter(buffer_record&iter); 
        gtk_text_buffer_insert(buffer_record&iter“connect succes\n“-1); 
        isconnected=TRUE; 
        printf(“connect success\n“);
        return TRUE; 
    } 


/* 查询历史记录*/
void history_all(GtkWidget* widgetgpointer data)
{
GtkTextIter iter; 
sprintf(query“select * from history;“);
if(mysql_query(mysqlquery))
{
printf(“mysql_query wrong!“);
mysql_close(mysql);
exit(0);
}
    

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件     215923  2015-10-29 18:18  chat2\1.PNG

     文件     321867  2015-10-29 18:32  chat2\15.jpg

     文件       8541  2015-10-27 10:08  chat2\8.jpg

     文件     227176  2015-10-30 11:33  chat2\client

     文件      14952  2015-10-30 16:14  chat2\client.c

     文件      14952  2015-10-30 16:14  chat2\client.c~

     文件     226423  2015-10-30 12:34  chat2\server

     文件      15312  2015-10-30 20:35  chat2\server.c

     文件      15312  2015-10-30 20:35  chat2\server.c~

     文件      18700  2015-10-29 20:27  chat2\server1.c~

     文件        158  2015-10-30 20:36  chat2\zx.sh

     文件        160  2015-10-30 18:18  chat2\zx.sh~

     文件        158  2015-10-30 20:37  chat2\zxc.sh

     目录          0  2016-04-01 00:12  chat2

----------- ---------  ---------- -----  ----

              1079634                    14


评论

共有 条评论