資源簡介
這部分代碼主要是基于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
評論
共有 條評論