当前位置:首页 > 《网络编程与协议分析》课程设计报告
iphead *iph=(iphead *)(ddat[i].buff);
tcphead th=*((tcphead *)(ddat[i].buff+(iph->ip_EdiAndLen&0xf)*4)); udphead uh=*((udphead *)(ddat[i].buff+(iph->ip_EdiAndLen&0xf)*4)); icmphead ih=*((icmphead *)(ddat[i].buff+(iph->ip_EdiAndLen&0xf)*4)); switch((int)iph->ip_Protocol) {
case 6: sprintf(tem,\源端口:%d\\r\\n\ buf+=tem; sprintf(tem,\目的端口:%d\\r\\n\ buf+=tem; sprintf(tem,\序列号:%d\\r\\n\ buf+=tem; sprintf(tem,\确认号:%d\\r\\n\ buf+=tem; sprintf(tem,\数据偏移:%d\\r\\n\ buf+=tem; sprintf(tem,\保留:%d\\r\\n\ buf+=tem; sprintf(tem,\标志:%d\\r\\n\ buf+=tem; sprintf(tem,\窗口:%d\\r\\n\ buf+=tem; sprintf(tem,\校验和:%d\\r\\n\ buf+=tem; sprintf(tem,\紧急指针:%d\\r\\n\ buf+=tem; newdlg.m_data=buf; break; case 17: sprintf(tem,\源端口:%d\\r\\r\\n\ buf+=tem; sprintf(tem,\目的端口:%d\\r\\n\ buf+=tem; sprintf(tem,\长度:%d\\r\\n\ buf+=tem; sprintf(tem,\校验和:%d\\r\\n\ buf+=tem; newdlg.m_data=buf; break; case 1: sprintf(tem,\类型:%d\\r\\n\ buf+=tem;
}
}
sprintf(tem,\代码:%d\\r\\n\ buf+=tem; sprintf(tem,\校验和:%d\\r\\n\ buf+=tem; newdlg.m_data=buf; break; default: AfxMessageBox(\ newdlg.m_data=\}
newdlg.DoModal();
*pResult = 0;
7)“停止”按钮事件
void CTestDlg::OnStop() { // TODO: Add your control notification handler code here
SuspendThread(m_thr); DWORD code; CString strDate; CString strBuf;
int index = m_List.GetItemCount(); int i,j = 0;
GetExitCodeThread(m_thr,&code); if (code != STILL_ACTIVE) { AfxMessageBox(\程序初始化失败!\\n请检查配置后重新运行!\ } else { CTime ttime = CTime::GetCurrentTime();
strDate.Format(\
ay());
strDate += ttime.Format(\
ofstream outfile(\outfile< while (j < index) { for (i = 0;i < 12;i++) { strBuf = m_List.GetItemText(j,i); switch(i) { case 0: outfile< } } case 7: outfile< outfile.close(); AfxMessageBox(\数据已写入日志文件!\ GetDlgItem(IDC_STOP)->EnableWindow(FALSE); GetDlgItem(IDC_START)->EnableWindow(TRUE); GetDlgItem(IDC_START)->SetFocus();
共分享92篇相关文档