主题:[讨论]本人用Indy Server组件页中的IdHTTPServer控件制作的 Web服务器端程序
其主要部分如下:
下列程序段是使用了IdHTTPServer控件的CommandGet事件。
void __fastcall TForm1::IdHTTPServer1CommandGet(TIdPeerThread *AThread,
TIdHTTPRequestInfo *RequestInfo, TIdHTTPResponseInfo *ResponseInfo)
{
/*
其它控件说明
LabeledEdit1 : 用于存放网站目录位置的(如:d:\webserver)
LabeledEdit2 : 用于存放Web服务器的默认首页
*/
char str[255];
int i;
strcpy(str,RequestInfo->Document.c_str());
for(i=0;i<RequestInfo->Document.Length();i++)
{
if(str[i]=='/')
str[i]='\\';
}
url=str;
if(RequestInfo->Document=="/")
AThread->Connection->WriteFile(LabeledEdit1->Text+url+LabeledEdit2->Text,true);
else
AThread->Connection->WriteFile(LabeledEdit1->Text+url,true);
AThread->Connection->Disconnect();
}
********************************************************************
可能这样设计有点不太妥,望各位大虾,指点指点!! 谢谢!!!!!
下列程序段是使用了IdHTTPServer控件的CommandGet事件。
void __fastcall TForm1::IdHTTPServer1CommandGet(TIdPeerThread *AThread,
TIdHTTPRequestInfo *RequestInfo, TIdHTTPResponseInfo *ResponseInfo)
{
/*
其它控件说明
LabeledEdit1 : 用于存放网站目录位置的(如:d:\webserver)
LabeledEdit2 : 用于存放Web服务器的默认首页
*/
char str[255];
int i;
strcpy(str,RequestInfo->Document.c_str());
for(i=0;i<RequestInfo->Document.Length();i++)
{
if(str[i]=='/')
str[i]='\\';
}
url=str;
if(RequestInfo->Document=="/")
AThread->Connection->WriteFile(LabeledEdit1->Text+url+LabeledEdit2->Text,true);
else
AThread->Connection->WriteFile(LabeledEdit1->Text+url,true);
AThread->Connection->Disconnect();
}
********************************************************************
可能这样设计有点不太妥,望各位大虾,指点指点!! 谢谢!!!!!