实验三、基于流式套接字的多线程并发服务器回射程序设计
0x00 实验内容
将 实验二 中的服务器改为并发服务器。
0x01 实现过程
实现方法
这个和 实验二 中的代码只差一部分——只需要让服务器开一个线程单独为当前客户服务即可。我这里是使用 pthread.h
来实现创建线程的。
公共函数中修改部分
// comm.h
// 在实验二的基础上添加如下内容
#include <pthread.h>
void *asyncTcpEchoServer(LPVOID pParam)
{
int sock_res;
char recv_data[MAXLINE];
// 将输入参数转换成连接套接字
SOCKET sock_conn = *((SOCKET *)pParam);
do
{
memset(recv_data, 0, MAXLINE);
// 接收数据
sock_res = recv(sock_conn, recv_data, MAXLINE, 0);
if (sock_res >