资源简介
这部分代码主要是基于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
相关资源
- C++简易聊天程序C++简易聊天程序
- C++聊天程序,功能很强大,很实用
- MFC基于多线程的聊天程序用了winsock套
- 基于tcp的聊天程序c语言的
- 用c++写的一个udp聊天程序
- socket多人聊天程序C语言版(一)
- mfc聊天程序,利用TCP/IP完成双向数据
- C++ 局域网聊天程序
- Qt chat聊天程序源码(含毕业设计说明
- 基于WINSOCKET局域网聊天程序
- Qt局域网聊天程序
- windows编程 VC6.0 网络程序设计 TCP 聊天
- Winsock 聊天程序VC++版服务器+客户端
- SocketC++,基于TCP在线实时聊天程序
- 使用mfc做的 UDP 聊天程序
- C语言用UDP 实现局域网聊天程序源码
评论
共有 条评论