-
大小: 33KB文件类型: .rar金币: 1下载: 0 次发布日期: 2021-01-05
- 语言: 其他
- 标签:
资源简介
基于linux的socket多人聊天室程序,采用posix多线程控制技术。客户端和服务器采用协议机制通信,服务器端在用户上线和下线时及时更新在线人数,并打印上下线信息(用户名)。客户端登陆需要输入用户名,若用户名已存在则让用户重新登陆。客户端也有即时显示好友上线下线信息功能。
代码片段和文件信息
#include
#include
#include
#include
#include
#include
#include
#include
// 自定义头文件
#include “client_handler.h“
#include “protocol.h“
// 该用户的用户信息
client client_info;
// 用户信息队列
ClientVector client_vector;
// 协议处理函数指针数组
typedef void (* ProtocolHandler)(p_base * p_base_ptr);
ProtocolHandler protocol_handler_array[PROTOCOL_NUM];
// 输入用户名线程
pthread_t input_name_thread;
// 用户输入信息线程
pthread_t input_message_thread;
// 服务器端网络地址结构体
struct sockaddr_in remote_addr;
int main(int argcchar * argv[])
{
// 接受程序启动参数,初始化协议处理函数数组,建立与服务器通信的客户端socket
init(argcargv);
// 创建输入用户名的线程
createInputNameThread();
// 接收服务器发送的包
recvServerPacket();
exit(EXIT_
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 24361 2011-01-04 13:42 BlockChatTool\client\client
文件 924 2011-01-04 13:39 BlockChatTool\client\client.c
文件 6164 2011-01-04 10:21 BlockChatTool\client\client_handler.c
文件 1245 2011-01-04 10:15 BlockChatTool\client\client_handler.h
文件 530 2010-12-30 10:05 BlockChatTool\client\makefile
文件 3673 2011-01-04 10:21 BlockChatTool\client\process_protocol.c
文件 524 2011-01-04 10:06 BlockChatTool\client\process_protocol.h
文件 3168 2011-01-04 10:06 BlockChatTool\client\protocol.h
文件 546 2011-01-05 16:38 BlockChatTool\server\makefile
文件 1551 2010-12-30 14:12 BlockChatTool\server\process_protocol.c
文件 189 2011-01-04 09:42 BlockChatTool\server\process_protocol.h
文件 3168 2010-12-29 16:17 BlockChatTool\server\protocol.h
文件 25065 2010-12-30 14:13 BlockChatTool\server\server
文件 944 2011-01-04 09:40 BlockChatTool\server\server.c
文件 10274 2011-01-04 10:21 BlockChatTool\server\server_handler.c
文件 2000 2011-01-04 09:44 BlockChatTool\server\server_handler.h
目录 0 2011-01-05 16:39 BlockChatTool\client
目录 0 2011-01-05 16:39 BlockChatTool\server
目录 0 2011-01-05 16:39 BlockChatTool
----------- --------- ---------- ----- ----
84326 19
评论
共有 条评论