发布时间 : 星期二 文章计算机网络实验实验报告更新完毕开始阅读3574d047b7360b4c2e3f64dc
}
pHttpServer->CleanupThread(NULL, pHttpServer->ShutdownEvent, s); return THREADEXIT_SUCCESS;
Handles[0] = pHttpServer->ShutdownEvent; Handles[1] = Event;
result = WSAEventSelect(s, Event, FD_ACCEPT); if(result == SOCKET_ERROR) { }
SetEvent(pHttpServer->ThreadLaunchedEvent); for(;;) {
DWORD EventCaused = WSAWaitForMultipleEvents(
2, Handles,
FALSE, WSA_INFINITE, FALSE);
//pHttpServer->LogMessage(LOGFILENAME, \serverlog.push_back(\);
pHttpServer->CleanupThread(Event, pHttpServer->ShutdownEvent, s); return THREADEXIT_SUCCESS;
\
if(EventCaused == WAIT_FAILED || EventCaused == WAIT_OBJECT_0) { }
result = WSAEnumNetworkEvents(
s, Event, &NetworkEvents);
if(EventCaused == WAIT_FAILED) { }
//pHttpServer->LogMessage(LOGFILENAME, \serverlog.push_back(\);
failure\
pHttpServer->CleanupThread(Event, pHttpServer->ShutdownEvent, s); return THREADEXIT_SUCCESS;
pHttpServer->CleanupThread(Event, pHttpServer->ShutdownEvent, s); return THREADEXIT_SUCCESS; }
}
if(INVALID_SOCKET == ClientSocket) { } else { }
if(!pHttpServer->AddClient(ClientSocket, cAddr, sain.sin_port)) { }
//pHttpServer->LogMessage(LOGFILENAME, \serverlog.push_back(\);
continue; // I think there is no reason to shutdown whole server if just one //pHttpServer->LogMessage(LOGFILENAME, \serverlog.push_back(\); // 有一个文件错误 continue;
if(NetworkEvents.lNetworkEvents == FD_ACCEPT) {
SOCKET ClientSocket = WSAAccept(s, &ClientAddr, &addrlen, NULL, NULL); memcpy(&sain, &ClientAddr, addrlen); sprintf(cAddr, \,
sain.sin_addr.S_un.S_un_b.s_b1, sain.sin_addr.S_un.S_un_b.s_b2, sain.sin_addr.S_un.S_un_b.s_b3, sain.sin_addr.S_un.S_un_b.s_b4);
if(result == SOCKET_ERROR) { }
//pHttpServer->LogMessage(LOGFILENAME, \serverlog.push_back(\); pHttpServer->CleanupThread(Event, pHttpServer->ShutdownEvent, s); return THREADEXIT_SUCCESS;
\
\
\
connection failed
四.实验结果 1.配置界面:
IP配置,监听端口配置,主目录配置
2.服务器开启后主页
(因未进行中文解码,导致中文显示乱码) 3.开启与关闭
4.多线程访问并输出请求来源以及请求处理的结果
5.访问不同类型文件 TXT文件:
JPG文件:
6.根据错误原因作相应提示