资源简介
之前发布的版本没有带myql的运行库,好多人运行不了,这次我重新打包一份 包含了mysql 的include 和 lib库 ,这个版本大家可以在本地轻松的编译,文件包内包含了mysql的版本说明,大家最好也安装同样版本的mysql,这样就不会出现兼容性的错误了,另外附上 Linux爱好者QQ群 大家有什么问题可以一起讨论
QQ群:12267557
代码片段和文件信息
/*---------------xc_qq.c------------
gcc -Wall -o client_qq client_qq.c ‘pkg-config --cflags --libs gtk+-2.0 gthread-2.0‘ -export-dynamic -lpthread
*/
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include “wrap.h“
#include “mygtk.h“
#define MAXLINE 800
static char *fengefu = “+“;
pthread_t ntid;
static char list_name[MAXLINE][MAXLINE] receive_msg_buf_name[MAXLINE][MAXLINE];
static pthread_t tid;
/*******************************/
static char msg_ip[MAXLINE]msg_port[MAXLINE];
/*********************************/
static char myname[MAXLINE] myip[MAXLINE] msg_buf[MAXLINE] myport[MAXLINE];
/**************文件传输相关变量开始*************/
static char file_from_name[MAXLINE] filename[MAXLINE] receive_ip[MAXLINE] receive_port[MAXLINE] disrecv_from_name[MAXLINE];
int new_file = -1 get_ip_statue = -1;
/**************文件传输相关变量结束*************/
int err;
static int retvalue = 0 c_icon = -1;
//static int ifshow=-1;
char buf[MAXLINE];
int inet_pton(int af const char *src void *dst);
static int sockfd n;
static int connect_ser(char server_ip[] int server_port);
static void show_login();
void init_list_name()
{
int i = 0;
for (i = 0; i < MAXLINE; i++) {
bzero(list_name[i] MAXLINE);
strcpy(list_name[i] “null“);
}
}
void init_receive_msg_buf_name()
{
int i = 0;
for (i = 0; i < MAXLINE; i++) {
bzero(receive_msg_buf_name[i] MAXLINE);
strcpy(receive_msg_buf_name[i] “null“);
}
}
/* 列表代码开始 */
enum {
COLUMN = 0
NUM_COLS
};
GtkWidget *view;
GtkWidget *label_myname;
char count_online[100];
void on_changed(GtkWidget * widget gpointer statusbar)
{
GtkTreeIter iter;
GtkTreeModel *model;
char *value;
if (gtk_tree_selection_get_selected(GTK_TREE_SELECTION(widget) &model &iter)) {
gtk_tree_model_get(model &iter COLUMN &value -1);
gtk_statusbar_push(GTK_STATUSBAR(statusbar) gtk_statusbar_get_context_id(GTK_STATUSBAR(statusbar) value) value);
char win_name[MAXLINE];
sprintf(win_name “%s+正在和+%s+聊天\n“ myname value);
int i = 0;
for (i = 0; i < MAXLINE; i++) {
if (strcmp(receive_msg_buf_name[i] value) == 0) {
return;
}
}
if (strcmp(value count_online) != 0 && strcmp(value “离线好友(0)“) != 0 && strcmp(value “获取列表失败!请重新登录!“) != 0) {
for (i = 0; i < MAXLINE; i++) {
if (strcmp(receive_msg_buf_name[i] “null“)
== 0) {
strcpy(receive_msg_buf_name[i] value);
break;
}
}
//pthread_t show_chat_tid;
//void *win_title = (void *)win_name; //类型转换
//void *sockfe = (void *)sockfd; //类型转换
//pthread_create(&ntid NULL thr_fn sockfe);
//pthread_create(&show_chat_tid NULL show_chat_window_thr NULL);
show_chat_window(win_name);
}
g_free(value);
}
}
static void remove_all()
{
GtkTreeStore *treestore;
treestore = GTK_TREE_STORE(gtk_tree_view_get_model(GTK_TREE_VIEW(view
- 上一篇:基于AT89C51的8*8点阵字符显示的实验报告
- 下一篇:C++实现网络文件传输
相关资源
- C语言实现LZ77压缩算法
- 用C语言编写的分形树
- 四子棋智能下棋C语言实现
- jpeg图片解码灰度二值化c语言实现
- C语言程序设计 现代方法 第二版 英文
- 语法分析c语言实现含报告
- 严蔚敏数据结构C语言版视频教程之总
- stm32F103zet6开串口通信2 C语言
- 用C语言实现PLC和上位机的串行通信
- C语言编程透视
- C语言词法分析程序
- 密码学:分组密码DES算法C语言版
- c语言用odbc连数据库.rar
- 数据结构—使用C语言第4版
- 数据结构与算法分析:C语言描述(原书
- 南邮《数据结构-C语言描述》陈慧南主
- 简易词法分析器——基于C语言
- C语言编写的乒乓球游戏
- C语言经典编程1000例+C语言深度解剖
- 十个游戏C语言源代码
- 学生管理系统C语言版
- 教你如何用Keil ,用c语言进行编程
- 数据结构基础(C语言版) 习题答案
- JPEG压缩的c语言实现
- 嵌入式linuxC语言程序设计基础教程
- C语言实用数字图像处理(日本的,看
- Cholesky MPI并行C语言实现
- ECOS求解器求解二阶锥问题C语言程序
- C语言小游戏217637
- 银行排号系统设计 C语言实现
评论
共有 条评论