我们客户端以前提交数据都是向自己写的服务器端提交的
现在改成直接向网站提交本地的一些数据
我不太清楚web是如何接受数据和返回响应的
就是客户端怎么发数据的问题
是不是一定要网站有一个相应的网页来接收?
我想单纯用socket来实现
大家熟悉web流程的给个建议

解决方案 »

  1.   

    大概搞了2 3年JE22吧,最近才转行的,所以对B/S是很清楚的。
    肯定必须有个专门处理的页面才行,如果WEB服务器不是你自己专门定制的话。
    动态页面主要是靠页面后面的参数来返回数据的。
    比如一个新闻页面new.jsp,一般都是靠提交其他参数来获取不同的返回的 。
    比如new.jsp?id=1可能就是去数据库中取出主键为1的那条新闻。
    你可以用winsock模拟POST或是GET来向服务器提交各种参数。
    也可以用winInet。
      

  2.   

    如果可以的话,感觉用HTTP服务器作为服务器肯定是最好的。
    因为自己不用考虑服务器的并发性以及负载均衡等问题。
      

  3.   

    我不太清楚web是如何接受数据和返回响应的 ---> HTTP就是客户端怎么发数据的问题
    是不是一定要网站有一个相应的网页来接收?--->> 网站要有个 "网页来接收"我想单纯用socket来实现  ---->可以可以发XML等任意数据MFC:CString strHeaders =
         _T("Content-Type: application/x-www-form-urlencoded");
         // URL-encoded form variables -
         // name = "John Doe", userid = "hithere", other = "P&Q"
         CString strFormData = _T("name=John+Doe&userid=hithere&other=P%26Q");
        
         CInternetSession session;
         CHttpConnection* pConnection =
         session.GetHttpConnection(_T("ServerNameHere"));
         CHttpFile* pFile =
         pConnection->OpenRequest(CHttpConnection::HTTP_VERB_POST,
         _T("FormActionHere"));
         BOOL result = pFile->SendRequest(strHeaders,
         (LPVOID)(LPCTSTR)strFormData, strFormData.GetLength());SDK:
     static TCHAR hdrs[] =
         _T("Content-Type: application/x-www-form-urlencoded");
         static TCHAR frmdata[] =
         _T("name=John+Doe&userid=hithere&other=P%26Q");
         statuc TCHAR accept[] =
         _T("Accept: */*");
        
         // for clarity, error-checking has been removed
         HINTERNET hSession = InternetOpen("MyAgent",
         INTERNET_OPEN_TYPE_PRECONFIG, NULL, NULL, 0);
         HINTERNET hConnect = InternetConnect(hSession, _T("ServerNameHere"),
         INTERNET_DEFAULT_HTTP_PORT, NULL, NULL, INTERNET_SERVICE_HTTP, 0, 1);
         HINTERNET hRequest = HttpOpenRequest(hConnect, "POST",
         _T("FormActionHere"), NULL, NULL, accept, 0, 1);
         HttpSendRequest(hRequest, hdrs, strlen(hdrs), frmdata, strlen(frmdata));
      

  4.   

    呵呵,打错字了,不过还好,大家应该都知道是J2EE。