91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

資源簡介

此資源是基于Linux 環境下的Socket通信編寫的代碼,里面融合了TCP/IP 通信,UDP通信,GTK,等知識,而且使用了I/O復用,在性能上有著自己的優勢。這個作品是我在課程設計的時候參考一個代碼做的,我在原作者的基礎上做了自己的改善。也謝謝原作者對于我的幫助!如果你想學習Linux C 可以下載,希望對你有用。幫助我寫在了client里面,你可以參考!

資源截圖

代碼片段和文件信息

/*---------------xc_qq.c------------
gcc?-Wall?-o?client_qq?client_qq.c?‘pkg-config?--cflags?--libs?gtk+-2.0?gthread-2.0‘?-export-dynamic?-lpthread
第一行是運行的命令,我將圖標放在了包里,你需要建立一個ico的文件夾,將圖標放進去,或者更改程序里面的路徑。
*/
#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?group_send=-1;
char?group_message[MAXLINE];
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? bzero(list_name[i]?MAXLINE);
strcpy(list_name[i]?“null“);
}
}

void?init_receive_msg_buf_name()
{
int?i?=?0;
for?(i?=?0;?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? 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? 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;

treesto

評論

共有 條評論