求高人指点!客户端与网站交互的有关问题

求高人指点!客户端与网站交互的问题~
服务器是ASP+IIS 
不可改动,只提供消息接口
客户端要做成窗口界面
也算是C/S模式吧?

问题:
客户端post方式提交数据,这个没大问题,可以用idHttp实现。但是,在服务端处理完数据之后要返回消息,也是post方式,且需要一个url地址,客户端应该怎样做才能实现?应该用何组件?还是只能用网站?

如果有例子最好,本人delphi新手,谢谢!

------解决方案--------------------
用IdHttp就可以了,Post后会返会页面的内容,你自己解析页面的内容,处理返回结果就行了
------解决方案--------------------
CString strDescript = _T("");
bool bRet = false;
CString strServer, strObject, strHeader, strRet;
unsigned short nPort;
DWORD dwServiceType;
CString strUrl = _T("http://localhost:1000/test.aspx");
CString strPara = _T("UserName=guan&passwd=123");

CString strContent=_T("");

if(!AfxParseURL(strUrl, dwServiceType, strServer, strObject, nPort))
{
strDescript = strUrl + _T("不是有效有网络地址!");
AfxMessageBox(strDescript);
return ;
}
CInternetSession sess;//Create session

CHttpFile* pFile;
//////////////////////////////////////////////
CHttpConnection *pServer = sess.GetHttpConnection(strServer, nPort); 
if(pServer == NULL)
{
strDescript = _T("对不起,连接服务器失败!");
AfxMessageBox(strDescript);
return ;
}
pFile = pServer->OpenRequest(CHttpConnection::HTTP_VERB_POST,strObject,NULL,1,NULL,NULL,INTERNET_FLAG_EXISTING_CONNECT); 
if(pFile == NULL)
{
strDescript = _T("找不到网络地址") + strUrl;
AfxMessageBox(strDescript);
return ;
}

// pFile -> AddRequestHeaders("Content-Type: text/xml; charset=utf-8");
pFile -> AddRequestHeaders(_T("Content-Type: application/x-www-form-urlencoded")); 
pFile -> AddRequestHeaders(_T("Accept: */*")); 
pFile -> SendRequest(NULL, 0, (LPTSTR)(LPCTSTR)strPara, strPara.GetLength()); 

CString strSentence;
DWORD dwStatus;
DWORD dwBuffLen = sizeof(dwStatus);
BOOL bSuccess = pFile->QueryInfo(
HTTP_QUERY_STATUS_CODE|HTTP_QUERY_FLAG_NUMBER,
&dwStatus, &dwBuffLen);

if( bSuccess && dwStatus>= 200 && dwStatus<300) 
{
char buffer[2049];
memset(buffer, 0, 2049);
int nReadCount = 0;
while((nReadCount = pFile->Read(buffer, 2048)) > 0)
{
strContent += buffer;
memset(buffer, 0, 2049);
}
bRet = true;
}
else
{
strDescript = _T("网站服务器错误") + strUrl;
AfxMessageBox(strDescript);
bRet = false;
}
////////////////////////////////////////
AfxMessageBox(strContent);
pFile->Close();
sess.Close();

------解决方案--------------------
你的C端要有一个80口的监听进程。对收到的数据,做简单的处理。若做全面的处理,那就是一个Web服务了!
服务端能用POST回送数据,这意味实现"推"的功能,这是B/S所不能作到的,也是C/S的优点。一般C/S系统,C端与S端的通信一般是不用HTTP协议的方式的。而你这里要S能POST回信息,即要用类视HTTP协议的方式来传,也是可以的。
------解决方案--------------------
无论如何,你需要服务器主动向客户端发送数据的话,你是不能通过服务器访问客户端提供的页面来实现的,因为你的客户端可能处于内网,服务器根本不可能找到客户端的机器。

客户端向服务器post数据这没有什么问题,也没什么难度,关键是服务器怎么异步将数据传到客户端,建议参考一些即时通信的技术。

所谓“推”技术,也是客户端与服务器端建立了tcp长连接,服务器有数据就推过来了而已。这个不难。对于没有做过的人来说也许是个难点。
------解决方案--------------------
用delphi做一个监听程序,我觉得不是很难,难的是对收到的数据,怎么解析和处理(工作量大)。但对你的应用,要接受的数据形式很有限,也就那么几种。若用IIS+ASP那你的C就很庞大了。
------解决方案--------------------
"所谓“推”技术,也是客户端与服务器端建立了tcp长连接,服务器有数据就推过来了而已。"

对如上说法,我想说一点:
客户端与服务器端建立了tcp长连接,是解决"推"问题的一种方法,且是一种不很完美的方法。
------解决方案--------------------