《网络编程与协议分析》课程设计报告

2026/1/24 0:19:33

(6)系统构架

四、部分代码

1)初始化套接字

BOOL CTestDlg::SockInit() { WSADATA wsa; if(WSAStartup(MAKEWORD(2,2),&wsa)!=0) { AfxMessageBox(\ } m_sock=socket(AF_INET,SOCK_RAW,0); if(m_sock==INVALID_SOCKET) { AfxMessageBox(\ } SOCKADDR_IN addr; addr.sin_family=AF_INET; addr.sin_port=htons(5000); struct hostent FAR * pHostent; char FAR name[25]; gethostname(name, 25); pHostent = gethostbyname(name); memcpy(&addr.sin_addr.S_un.S_addr,pHostent->h_addr_list[0],pHostent->h_len); if(bind(m_sock,(SOCKADDR *)&addr,sizeof(addr))!=0) { AfxMessageBox(\ } DWORD dwBytesRet; unsigned int optval = 1; int pCount=0;

if(INVALID_SOCKET==(WSAIoctl(m_sock,SIO_RCVALL,&optval,sizeof(optval),

NULL, 0, &dwBytesRet, NULL, NULL)))

{ AfxMessageBox(\ Fail!\ return false; }

}

return true;

2)初始化表格

BOOL CTestDlg::ListInit() { DWORD dwStyle = GetWindowLong(m_List.m_hWnd, GWL_STYLE); SetWindowLong(m_List.m_hWnd,GWL_STYLE,dwStyle|LVS_REPO); DWORD dwStyles = m_List.GetExStyle(); dwStyles &= ~LVS_EX_CHECKBOXES;

m_List.SetExtendedStyle(dwStyles|LVS_EX_FULLROWSELECT|LVXGRIDLINES); m_List.InsertColumn(1,\版本\ m_List.InsertColumn(2,\头部长度\ m_List.InsertColumn(3,\服务类型\ m_List.InsertColumn(4,\总长度\ m_List.InsertColumn(5,\标识符\ m_List.InsertColumn(6,\标志位\ m_List.InsertColumn(7,\片偏移\ m_List.InsertColumn(8,\生存周期\ m_List.InsertColumn(9,\协议\ m_List.InsertColumn(10,\首部校验和\ m_List.InsertColumn(11,\源地址\ m_List.InsertColumn(12,\目的IP地址\

}

return true;

3)ip,tcp,udp,icmp头部定义

struct iphead { unsigned char ip_EdiAndLen; unsigned char ip_Serve; unsigned short int ip_Len; unsigned short int ip_Sign; unsigned short int ip_MarkAndMove; unsigned char ip_Ttl; unsigned char ip_Protocol;

//版本&首部长度

//服务类型 //总长度 //标识 //标识&片偏移 //生存时间 //上层协议


《网络编程与协议分析》课程设计报告.doc 将本文的Word文档下载到电脑
搜索更多关于: 《网络编程与协议分析》课程设计报告 的文档
相关推荐
相关阅读
× 游客快捷下载通道(下载后可以自由复制和排版)

下载本文档需要支付 10

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219