资源简介
描述:
1 采用C++语言
2 编译环境是code::blocks
3 使用的是非阻塞套接字
功能描述:
1 一个服务器对多个客户端之间进行通信
2 实现多线程开发,共包括接收数据线程、发送数据线程、主线程、接收客户端连接线程、清理资源线程。
其中主线程负责数据的输入,清理资源线程主要负责清理不需要的内存空间。
3 可以定向的向某个连接的客户端进行通信、同时也可以使用广播的方式向单个客户端发送数据
代码片段和文件信息
#include “client.h“
//变量
SOCKET sClient; //套接字
HANDLE hThreadSend; //发送数据线程
HANDLE hThreadRecv; //接收数据线程
char bufSend[MAX_NUM_BUF]; //发送数据缓冲区
BOOL bSend = FALSE; //发送标记位
BOOL bConnecting; //与服务器的连接状态
HANDLE arrThread[2]; //子线程数组
CRITICAL_SECTION cs; //临界区对象,锁定bufSend
/**
* 初始化
*/
BOOL InitClient(void)
{
//初始化全局变量
InitMember();
//创建SOCKET
if (!InitSockt())
{
return FALSE;
}
return TRUE;
}
/**
* 初始化全局变量
*/
void InitMember(void)
{
InitializeCriticalSection(&cs);
sClient = INVALID_SOCKET; //套接字
hThreadRecv = NULL; //接收数据线程句柄
hThreadSend = NULL; //发送数据线程句柄
bConnecting = FALSE; //为连接状态
//初始化数据缓冲区
memset(bufSend 0 MAX_NUM_BUF);
memset(arrThread 0 2);
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2017-04-24 17:09 project\
目录 0 2017-04-24 17:09 project\Client\
目录 0 2017-04-24 17:09 project\Client\bin\
目录 0 2017-04-24 17:09 project\Client\bin\Debug\
文件 1029701 2017-04-20 21:31 project\Client\bin\Debug\client.exe
文件 1132 2017-03-29 23:37 project\Client\client.cbp
文件 5754 2017-04-20 21:31 project\Client\client.cpp
文件 2698 2017-04-20 21:32 project\Client\client.depend
文件 1011 2017-04-19 10:55 project\Client\client.h
文件 690 2017-04-21 14:26 project\Client\client.layout
文件 468 2017-04-20 00:06 project\Client\main.cpp
目录 0 2017-04-24 17:09 project\Client\obj\
目录 0 2017-04-24 17:09 project\Client\obj\Debug\
文件 20572 2017-04-20 21:31 project\Client\obj\Debug\client.o
文件 10402 2017-04-20 00:09 project\Client\obj\Debug\main.o
文件 379 2017-04-24 17:09 project\readme.txt
目录 0 2017-04-24 17:09 project\Server\
目录 0 2017-04-24 17:09 project\Server\server\
目录 0 2017-04-24 17:09 project\Server\server\bin\
目录 0 2017-04-24 17:09 project\Server\server\bin\Debug\
文件 1138142 2017-04-24 16:16 project\Server\server\bin\Debug\server.exe
文件 384 2017-04-24 10:27 project\Server\server\main.cpp
目录 0 2017-04-24 17:09 project\Server\server\obj\
目录 0 2017-04-24 17:09 project\Server\server\obj\Debug\
文件 10399 2017-04-24 16:16 project\Server\server\obj\Debug\main.o
文件 20023 2017-04-24 16:16 project\Server\server\obj\Debug\sclient.o
文件 150744 2017-04-24 16:16 project\Server\server\obj\Debug\server.o
文件 4057 2017-04-24 15:32 project\Server\server\sclient.cpp
文件 1796 2017-04-20 20:20 project\Server\server\sclient.h
文件 1198 2017-04-16 09:55 project\Server\server\server.cbp
文件 9527 2017-04-24 16:16 project\Server\server\server.cpp
............此处省略3个文件信息
评论
共有 条评论