freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內容

無線網(wǎng)絡協(xié)議報文解析的實現(xiàn)畢業(yè)設計-資料下載頁

2025-05-27 18:45本頁面
  

【正文】 辛長安. VC++ 編程技術與難點剖析[M]. 清華大學出版社, 2001.[15] 徐謖. C++應用與開發(fā)案例教程[M]. 清華大學出版社, 2000.[16] 王學磊. 網(wǎng)絡數(shù)據(jù)包截獲與分析研究[M]. 沈陽:東北大學,2004,2.[17] Jeffrey zhu. [EB/OL]. 百度文庫,2011,://wenku. [18] xicao54007. cap文件結構分析[EB/OL]. 百度空間,2008,12, m/xicao54007/blog/item/[19] 鮮繼清, 張德明. 現(xiàn)代通信系統(tǒng)[M]. 西安:西安電子科技大學出版社. [20] 吳功宜. 計算機網(wǎng)絡:第2版[M]. 北京:清華大學出版社,2007,3. [21] 整莉, 董淵, 張瑞豐 等. C++語言程序設計[M]. 北京:清華大學出版社,2004,3. 附錄1. 打開文件處理的消息//打開文件,將得到的文件數(shù)據(jù)保存下來BOOL CHexShowDoc::OnOpenDocument(LPCTSTR lpszPathName) { if (!CDocument::OnOpenDocument(lpszPathName)) return FALSE。 // TODO: Add your specialized creation code here //編輯消息處理函數(shù) if(m_pHexFile!=NULL) { m_pHexFileClose()。 //關閉文件流 delete m_pHexFile。 //刪除文件對象 delete []m_strPackBuf。 //保存幀數(shù)據(jù)的緩沖區(qū) delete []m_CFileBuffer。 //保存文件數(shù)據(jù)的緩沖區(qū) m_nPBytes=0。 //重置保存取幀的長度 } //根據(jù)得到的文件路徑以二進制的形式打開文件 m_pHexFile=new CFile(lpszPathName,CFile::modeRead|CFile::typeBinary)。 if (!m_pHexFile) { AfxMessageBox(文件打開出錯!)。 return FALSE。 } m_lFileLength=m_pHexFileGetLength()。 //獲得文件的長度 m_CFileBuffer=new unsigned char[m_lFileLength24]。 //為文件緩沖區(qū)動態(tài)分配內存空間 long lTemp1=m_pHexFileSeek(24,CFile::begin)。 //跳過文件的前24個字節(jié)的文件頭 long FBTemp=m_pHexFileRead(m_CFileBuffer,m_lFileLength)。 //開始讀取文件到文件緩沖區(qū)中 return TRUE。 }2. 讀取幀的數(shù)據(jù)//尋找需要的幀結構,將獲得的幀結構保存下來void CHexShowDoc::ReadPackandProcess(int PackID){ if (m_CFileBuffer==NULL) {//如果文件對象為空,則表明沒有成功打開文件程序返回,等待打開新的文件 return。 } int iBytesPos=8。 //幀結構中記錄幀長度的位置 const int iHeadBytes=16。 //幀結構前16個字節(jié)保存了捕幀是的時間戳和幀的長度 int iPackCount。 //記錄讀取了的是第幾個幀 int ifilterBytes=0。 //記錄過濾丟的文件的長度 int TypeID=1。 //保存讀取幀是幀類型參數(shù) const int iTypePos=iHeadBytes+24。 //幀結構中記錄幀類型的位置 unsigned char CBTemp=m_CFileBuffer[iBytesPos]。 int iBytes=(int)CBTemp。 //獲得幀的長度 for (iPackCount=1。TypeID!=PackID。iPackCount++) { unsigned char TTemp=m_CFileBuffer[iTypePos+ifilterBytes]。 TypeID=(int)TTemp。 //獲得幀的類型 if (TypeID!=PackID) { //將取出的幀與需要處理的幀進行比對 ifilterBytes=iHeadBytes+iBytes+ifilterBytes。 iBytesPos=ifilterBytes+8。 CBTemp=m_CFileBuffer[iBytesPos]。 iBytes=(int)CBTemp。 } } m_strPackBuf=new unsigned char[iBytes]。 //為保存幀數(shù)據(jù)的緩沖區(qū)分配內存空間 if (TypeID==PackID) { //讀取匹配到的幀,保存在緩沖區(qū)中 for (int i=0。iiBytes。i++) { m_strPackBuf[i]=m_CFileBuffer[i+iHeadBytes+ifilterBytes]。 } m_nPBytes=iBytes。 }}3. CView類處理節(jié)點響應/***********************************************************************//* 樹形控件(TreeCtrl)的點擊響應事件處理 *//***********************************************************************/void CHexShowView::OnSelchangedTree1(NMHDR* pNMHDR, LRESULT* pResult) { //文檔類已向CView類發(fā)送了消息,點擊樹形結構的節(jié)點,取出文檔類發(fā)過來的對象 CHexShowDoc* pDoc = GetDocument()。 ASSERT_VALID(pDoc)。 if (pDocm_pHexFile==NULL) { //判斷文件對象是否為空,為空則返回,不做任何處理 return。 } ()。//刷新列表 //刷新編輯框 ()。 ()。 ()。//大多數(shù)時候,在消息處理函數(shù)需要使用NM_TREEVIEW對象,這時可以將消息處理函數(shù)傳進來的NMHDR指針強制轉換為NM_TREEVIEW指針NM_TREEVIEW* pNMTreeView = (NM_TREEVIEW*)pNMHDR。 TV_ITEM t_SelectedItem=pNMTreeViewitemNew。 //將返回當前選中的結點的句柄HTREEITEM t_SelTreeItem=。 //將選中指明結點//為了在控件中唯一標識每個條目,將ID綁定在其上DWORD t_dwItemData=(t_SelTreeItem)。 if (t_dwItemData==100||t_dwItemData==200||t_dwItemData==300) { //當點擊根節(jié)點是,程序返回,不做任何處理 return。 } if (t_dwItemData==302) { MessageBox(該文件沒有該類幀)。 return。 } m_PackFlag=t_dwItemData。 DoListData(pDoc)。 //處理向列表輸出的解析信息 // TODO: Add your control notification handler code here // TODO: Add your specialized code here and/or call the base class *pResult = 0。}4. 用于解析幀的類的頭文件// : interface for the CPackData class.if !defined(AFX_PACKDATA_H__49479401_C49E_4F5D_BF11_07784DAD35FB__INCLUDED_)define AFX_PACKDATA_H__49479401_C49E_4F5D_BF11_07784DAD35FB__INCLUDED_if _MSC_VER 1000pragma onceendif // _MSC_VER 1000class CPackData {public: CPackData()。 //構造函數(shù) virtual ~CPackData()。 //析構函數(shù) int GetStartPoint(int PackID,int iRow)。 /根據(jù)幀的編號與字段的編號獲得字段開始的位置 int GetBorder(int PackID,int iRow)。 //根據(jù)幀的編號與字段的編號獲得字段包含的字節(jié)數(shù) int GetListRow(int PackID)。 //列表相應的行數(shù) BOOL GetbInitsData(unsigned char* cPackBuff,int PackID)。 //從幀的緩沖區(qū)中讀取數(shù)據(jù) BOOL GetListPos(CString amp。strPos,int PackID,int iRow)。 //列表獲得起始位置信息 BOOL GetListBytes(CString amp。strBytes,int PackID,int iRow)。 //列表獲得字段的字節(jié)數(shù) BOOL GetListData(CString amp。strData,int PackID,int iRow)。 //列表獲得字段的數(shù)據(jù) BOOL GetListContext(CString amp。strContext,int PackID,int iRow)。 //列表獲得字段的意義 private:}。endif // !defined(AFX_PACKDATA_H__49479401_C49E_4F5D_BF11_07784DAD35FB__INCLUDED_)5. 保存解析的信息的緩沖區(qū)//Beacon幀const int RowBeacon=55。 //保存Beacon幀字段的數(shù)目int iPosBeacon[RowBeacon]; //保存Beacon幀各個字段起始位置int iBytesBeacon[RowBeacon]; //保存Beacon幀各個字段的字節(jié)數(shù)CString sDataBeacon[RowBeacon]。 //保存Beacon幀各個字段的數(shù)據(jù)CString sContextBeacon[RowBeacon]。 //保存Beacon幀各個字段的意義//Association Request幀const int RowAssociationRet=35。int iPosAssociationRet[RowAssociationRet]。int iBytesAssociationRet[RowAssociationRet]。CString sDataAssociationRet[RowAssociationRet]。CString sContextAssociationRet[RowAssociationRet]。//Association Response幀const int RowAssociationRes=27。int iPosAssociationRes[RowAssociationRes]。int iBytesAssociationRes[RowAssociationRes]。CString sDataAssociationRes[RowAssociationRes]。CString sContextAssociationRes[RowAssociationRes]。//Data幀const int RowData=23。int iPosData[RowData];int iBytesData[RowData]。CString sDataData[RowData]。CString sContextData[RowData]。//Acknowledgement幀const int RowAck=18。int iPosAck[RowAck]。int iBytesAck[RowAck]。CString
點擊復制文檔內容
規(guī)章制度相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1