资源简介
比较基础的代码,分客户端和服务器.实现客户端的通信,而服务器转发的功能
代码片段和文件信息
// 聊天室服务器
//
#include “chatroom.h“
// 发送器结构体
typedef struct Sender {
int connfd; // 发送器连接套接字
char nickname[MAX_NCK]; // 发送器昵称
} SENDER;
LIST* g_snds = NULL; // 发送器结构体列表
LIST* g_rcvs = NULL; // 接收器套接字列表
LIST* g_msgs = NULL; // 消息包队列
// 发送器结构体列表互斥量
pthread_mutex_t g_mtx_snds = PTHREAD_MUTEX_INITIALIZER;
// 接收器套接字列表互斥量
pthread_mutex_t g_mtx_rcvs = PTHREAD_MUTEX_INITIALIZER;
// 消息包队列互斥量
pthread_mutex_t g_mtx_msgs = PTHREAD_MUTEX_INITIALIZER;
// 消息包队列非空条件变量
pthread_cond_t g_cnd_msgs = PTHREAD_COND_INITIALIZER;
// SIGINT信号处理函数
void sigint (int signum) {
printf (“\n服务器:再见!\n“);
exit (0);
}
// 从消息包队列弹出消息
char* pop_msg (void) {
pthread_mutex_lock (&g_mtx_msgs);
while (list_empty (g_msgs))
pthread_cond_wait (&g_cnd_msgs &g_mtx_msgs);
char* msg = (char*)list_pop (g_msgs);
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 17583 2015-05-13 18:55 code\bin\chatroom
文件 7781 2015-05-13 18:55 code\bin\receiver
文件 11928 2015-05-13 18:55 code\bin\sender
文件 537 2014-10-23 23:36 code\inc\chatroom.h
文件 806 2014-07-11 11:42 code\inc\list.h
文件 10156 2014-10-23 23:39 code\src\chatroom.c
文件 10252 2015-05-13 18:55 code\src\chatroom.o
文件 1734 2014-07-11 11:42 code\src\list.c
文件 2288 2015-05-13 18:55 code\src\list.o
文件 461 2014-10-23 23:38 code\src\makefile
文件 2397 2014-10-23 23:39 code\src\receiver.c
文件 3568 2015-05-13 18:55 code\src\receiver.o
文件 2604 2014-10-23 23:39 code\src\sender.c
文件 3836 2015-05-13 18:55 code\src\sender.o
目录 0 2015-05-13 18:55 code\bin
目录 0 2015-05-13 18:54 code\inc
目录 0 2015-05-13 18:55 code\src
目录 0 2015-05-13 18:54 code
----------- --------- ---------- ----- ----
75931 18
- 上一篇:A7108生科射频IC测试程序
- 下一篇:sift和surf的比较
评论
共有 条评论