计算机网络实验实验报告 联系客服

发布时间 : 星期二 文章计算机网络实验实验报告更新完毕开始阅读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.根据错误原因作相应提示