tinysearchenginedesignandimplementation内容摘要:

ir =。 thism_sFile =。 thism_sUser =。 thism_sPasswd =。 } 16 CUrl::ParseUrl bool CUrl::ParseUrl( string strUrl ) { string::size_type idx。 thisParseScheme( ( ) )。 if( thism_eScheme != SCHEME_HTTP ) return false。 // get host name thism_sHost = (7)。 idx = (39。 /39。 )。 if( idx != string::npos ){ m_sHost = ( 0, idx )。 } thism_sUrl = strUrl。 return true。 } 17 Defining system objects  URL – scheme://_loc/path。 params?queryfragment – 除了 scheme部分,其他部分可以不在 URL中同时出现。 – scheme : ::= 协议名称 . – // _loc ::= 网络位置 /主机名,登陆信息 . – / path ::= URL 路径 . –。 params ::= 对象参数 . – ? query ::= 查询信息 .  Page  …. 18 Class Page public: string m_sUrl。 string m_sLocation。 string m_sHeader。 int m_nLenHeader。 string m_sCharset。 string m_sContentEncoding。 string m_sContentType。 string m_sContent。 int m_nLenContent。 string m_sContentLinkInfo。 string m_sLinkInfo4SE。 int m_nLenLinkInfo4SE。 string m_sLinkInfo4History。 int m_nLenLinkInfo4History。 string m_sContentNoTags。 int m_nRefLink4SENum。 int m_nRefLink4HistoryNum。 enum page_type m_eType。 RefLink4SE m_RefLink4SE[MAX_URL_REFERENCES]。 RefLink4History m_RefLink4History[MAX_URL_REFERENCES/2]。 mapstring,string,lessstring m_mapLink4SE。 vectorstring m_vecLink4History。 19 Class Page …continued public: CPage()。 CPage::CPage(string strUrl, string strLocation, char* header, char* body, int nLenBody)。 ~CPage()。 int GetCharset()。 int GetContentEncoding()。 int GetContentType()。 int GetContentLinkInfo()。 int GetLinkInfo4SE()。 int GetLinkInfo4History()。 void FindRefLink4SE()。 void FindRefLink4History()。 private: int NormallizeUrl(stringamp。 strUrl)。 bool IsFilterLink(string plink)。 }。 20 Sockets used for streams Requesting a connection Listening and accepting a connection bind(s, ServerAddress)。 listen(s,5)。 sNew = accept(s, ClientAddress)。 n = read(sNew, buffer, amount) s = socket(AF_INET, SOCK_STREAM,0) connect(s, ServerAddress) write(s, messa。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。