Windows网络编程 - 协议软件接口课件.ppt

Windows网络编程 - 协议软件接口课件.ppt

ID:57059864

大小:1.16 MB

页数:33页

时间:2020-07-30

Windows网络编程 - 协议软件接口课件.ppt_第1页
Windows网络编程 - 协议软件接口课件.ppt_第2页
Windows网络编程 - 协议软件接口课件.ppt_第3页
Windows网络编程 - 协议软件接口课件.ppt_第4页
Windows网络编程 - 协议软件接口课件.ppt_第5页
资源描述:

《Windows网络编程 - 协议软件接口课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第四章协议软件接口TCP/IP软件协议接口网络通信基本方法套接字与WinSockWinSock编程接口①②③④软件协议接口位置TCP/IP软件协议接口TCP/IP实现应用程序协议软件接口操作系统分配用于通信的资源。指定本地和远端通信端点。(客户端)启动连接。(服务器)等待连接。发送或接收数据。判断数据何时到达。产生紧急数据。处理到来的紧急数据。…………软件协议接口的功能TCP/IP软件协议接口网络通信基本方法发明一种新的系统调用;将网络操作作为一种I/O操作,扩充现有I/O调用。访问TCP/IP的方法UNIX中的基本I/O操

2、作操作含义open()为输入或输出操作准备一个设备或文件。close()终止使用以前已经打开的设备或文件。read()从输入设备或文件中获取数据,并将数据放到应用程序的存储器。write()将数据从应用程序的存储器传到输出设备或文件。①第二Third网间进程的标识问题多重协议的识别问题多种通信服务的选择问题网间进程通信必须解决的问题套接字与WinSock?套接字是什么套接字Socket,字面意思是凹槽、插座。在网络通信中Socket是支持TCP/IP网络通信的基本操作单元,它是连接网络应用程序和协议实现的桥梁。常见套接字的类

3、型123流式套接字数据报套接字原始套接字IP…………端口套接字应用程序关系图……TCPUDP套接字通信过程1.01.12最初版本,网络软件供应商和用户社区共同努力的结果。对1.1版本的扩展;支持创建高级网络程序;提供一个协议无关的传输接口;维持向后完全兼容。沿袭指导思想和结构;更清晰的说明;一些重要变更。WinSock的版本WinSock编程接口WindowsSocketsDLL的初始化WSADATAwsaData;//创建WSADATA对象intiResult;//初始化WinSock,声明使用2.2版本iResult=W

4、SAStartup(MAKEWORD(2,2),&wsaData);if(iResult!=0){printf(“WSAStartupfailed:%d”,iResult);return-1;}WindowsSocketsDLL的释放intiResult;iResult=WSACleanup();if(iResult!=0){//释放操作失败则输出错误码,返回-1printf(“WSACleanupfailed:%d”,iResult);return-1;}物理地址物理地址IP地址端口号WinSock地址描述物理地址

5、物理地址IP地址端口号WinSock地址描述AF_NETBIOS物理地址AF_IPXAF_INET6AF_INET常见地址族AF_NETBIOS物理地址AF_IPXAF_INET6AF_INET常见地址族一般化的地址格式:{地址族,端点地址}structsockaddr{unsignedshortsa_family;//地址族标识,2字节charsa_data[14];//端点地址,14字节};IPv4的地址结构typedefstructin_addr{//IP地址,4字节union{struct{unsignedchars

6、_b1,s_b2,s_b3,s_b4;}S_un_b;struct{unsignedshorts_w1,s_w2;}S_un_w;unsignedlongS_addr;}S_un;}IN_ADDR,*PIN_ADDR,FAR*LPIN_ADDR;structsockaddr_in{shortsin_family;//地址族标志,2字节unsignedshortsin_port;//端口地址,2字节structin_addrsin_addr;//Internet地址,4字节charsin_zero[8];//保留字段,8字节}

7、;IPv4的地址结构IPv6的地址结构typedefstructin6_addr{//IPv6地址,16字节union{unsignedcharByte[16];unsignedshortWord[8];}u;}IN6_ADDR,*PIN6_ADDR,FAR*LPIN6_ADDR;IPv6的地址结构structsockaddr_in6{shortsin6_family;//地址族标志,2字节unsignedshortsin6_port;//端口号,2字节unsignedlongsin6_flowinfo;//流信息,4字节s

8、tructin6_addrsin6_addr;//IPv6地址,16字节unsignedlongsin6_scope_id;//Scope标识,4字节};IPv6的地址结构在具体实现中,我们只是想把结构体的地址传进去,然后让函数检查family字段,从而转型为不同的结构体进行进一步处理。a

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。