- 1、本文档共215页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第1章 课程要求与教学指导 “计算机网络技术教程自顶向下分析与设计方法” 配套教材,也可以单独作为“计算机网络软件编程技术”课程教材 每章是一个独立的网络软件编程题目,主要内容包括:基础知识、例题分析和练习题编程题目分析(1) 应用层编程题目FTP客户机程序设计 POP3客户机程序设计Web客户机程序设计SNMP管理器程序设计传输层编程题目主机端口扫描程序设计编程题目分析(2) 网络层编程题目网络主机扫描程序设计 IP数据包捕获程序设计 IP地址判断程序设计 IPv6数据包封装程序设计数据链路层编程题目Ethernet帧封装程序设计 第2章 套接字编程基础知识 套接字编程的概念 Windows套接字编程 网络编程模式分析网络协议的概念 网络协议(Network Protocol)是为进行网络中的数据通信,而建立的规则、标准或约定语法:用户数据与控制信息的结构语义:控制信息完成的动作与响应时序:动作实现顺序的说明网络协议的组织方式是层次结构,常见的结构模型主要是OSI模型与TCP/IP模型 客户机/服务器的概念在计算机网络环境中,计算机之间通信采用分布式进程通信客户机/服务器(Client/Server)模式 客户机通过临时端口向服务器发送请求服务器通过熟知端口向客户机提供服务套接字的概念套接字(Socket)是一种使应用程序可以访问通信协议的系统调用 流式套接字(SOCK_STREAM):提供面向连接、可靠的数据传输服务数据报套接字(SOCK_DGRAM):提供无连接的、不可靠的数据传输服务原始套接字(SOCK_RAW):提供对网络层协议(例如IP、ICMP与IGMP等)的访问 Winsock的概念Winsock是Windows操作系统中的套接字Winsock函数提供基本的套接字功能 Winsock以动态链接库形式实现,包括2个版本:Winsock1.1与Winsock2.0Winsock提供2种模式:阻塞模式与非阻塞模式Winsock函数(1)Winsock初始化与卸载 WSAStartup():Winsock初始化WSACleanup():Winsock卸载Winsock函数(2)Winsock基本函数 socket():创建套接字closesocket():关闭套接字bind():套接字与本地地址绑定listen():侦听端口的连接请求connect():请求与服务器建立连接accept():用于接收客户机的连接请求send()与sendto():发送数据recv()与recvfrom():接收数据Winsock函数(3)地址转换函数 inet_addr( ):将点分十进制的IP地址转换为in_addr结构的地址 inet_ntoa( ):将in_addr结构的地址转换为点分十进制的IP地址 Winsock函数(4)字节序转换函数 htonl():将无符号长整型数从主机字节序转换为网络字节序ntohl():将无符号长整型数从网络字节序转换为主机字节序htons():将无符号短整型数从主机字节序转换为网络字节序ntohs():将无符号短整型数从网络字节序转换为主机字节序 Winsock函数(5)主机信息获取函数 gethostname():获取主机名gethostbyname():获取主机地址Winsock函数(6)套接字处理函数 ioctlsocket():控制套接字的操作模式 getsockopt():获得套接字的选项 setsockopt():设置套接字的选项 Winsock函数(7)GetLastError()函数如果Socket函数返回SOCKET_ERROR,说明该函数在处理过程中出现错误通过调用GetLastError()函数,获得与该错误对应的错误类型码 Winsock函数(8)Winsock 2.0新增函数WSACloseEvent():释放一个事件对象 WSACreateEvent():创建一个事件对象 WSADuplicateSocket():创建一个共享套接字 WSAEnumNetworkEvents():检查网络事件发生 WSAEnumProtocols():获得可用的协议信息 WSAEventSelect():将网络事件与事件关联Winsock函数(9)Winsock 2.0新增函数WSAGetOverlappedResu():获得重叠操作状态WSARecvDisconnect():终止套接字的接收操作WSAResetEvent():重新初始化一个事件对象 WSASendDisconnect():终止套接字的发送操作WSASetEvent():设置一个事件对象WSAWaitForMultipleEvents():阻塞多个事件TCP编程模式(1)有连接模式SOCK_STREAM客户机connect
文档评论(0)