流式套接字并发服务器
主线程:
创建套接字并将其绑定到服务器所使用的熟知地址上。 重复调用accept接收客户端的请求,并且创建子线程处理响应。
子线程:
在线程创建时接收连接请求; 用该连接与客户端进行交互:接收请求并发回应答; 关闭连接并退出。子线程在处理完来自一个客户端的所有请求后退出
代码实现
#include <winsock2.h>
#include <windows.h>
#define NETWORK1_2_1_A_COMM_H
#define NETWORK1_2_1_A_COMM_H
#include <stdio.h>
#include <stdlib.h>
#include <inaddr.h>
#include <time.h>
#include <string.h>
#pragma comment(lib, "ws2_32.lib")
#define MAXLINE 4096 // 接收缓冲区长度
#define LISTENQ 1024 // 监听队列长度
#define SEVER_PORT 13131 // 端口
//初始化动态连接库
int startUp()
{
WORD w_version = MAKEWORD(2, 2);
WSADATA wsa_data;
int res = WSAStartup(w_version, &wsa_data);
if (res != 0)
{
printf("WSAStartup Error:%d\n",WSAGetLastError());
return -1;
}
if (LOBYTE(wsa_data.wVersion) != 2 || HIBYTE(wsa_data.wVersion) != 2)
{
<