第09章基于C_S结构的Socket程序设计1剖析.ppt

第09章基于C_S结构的Socket程序设计1剖析.ppt

  1. 1、本文档共53页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
网络编程技术 概述 C/S模型是TCP/IP网络环境下位于不同主机的进程间通信的基本软件编程模型,掌握基于C/S结构的Socket程序设计是学习Internet应用系统设计与实现技术的重要基础。 提纲 编程训练目的 编程训练要求 相关知识介绍 程序设计分析 扩展与提高 编程训练目的 掌握Windows Socket编程的相关概念、基本套接字API调用和典型网络编程调用时序; 掌握基于C/S结构的Windows Socket TCP/UDP程序设计方法。 掌握Server端和Client端程序结构的设计与编程方法。 熟悉Winsock的2种I/O模式和4种编程模型,了解使用WSAAsynSelect模型进行异步I/O通信的基本方法。 提纲 编程训练目的 编程训练要求 相关知识介绍 程序设计分析 扩展与提高 编程训练要求 编写程序,完成一个简单的客户/服务器程序设计: 使用控制台界面,命令行格式为: Server.exe TCP server port Client.exe TCP Server IP TCP Server Port 首先Server创建2个socket,分别为TCP server socket(由命令行参数指定)和UDP server socket(端口号自定义)。Server在这两个端口上侦听连接,接受来自客户端的服务请求。 程序运行的参考界面(client) 程序运行的参考界面(server) 提纲 编程训练目的 编程训练要求 相关知识介绍 程序设计分析 扩展与提高 C/S结构网络模型 客户(client)和服务器(server)分别指两个应用程序 客户:向服务器发出服务请求 服务器:对客户的请求做出响应 服务器程序可并发处理多个客户请求 服务器对并发请求响应的两种类型 重复服务器方案 并发服务器方案 重复服务器方案 客户请求到达后首先进入等待队列,服务器按照先进先出的原则顺序做出响应 优点:服务器对系统资源要求不高。 缺点:如果请求的任务需要很长时间完成,其他客户需要耐心等待。 适用环境:一般用于处理可在预期时间内处理完的请求,针对于面向无连接的客户-服务器模型。 并发服务器方案 创建新的子进程(线程)为客户的请求服务。 主服务器:主进程(守候进程) 从服务器:子进程(线程) 优点:实时、灵活,每个客户都可以得到及时响应。 缺点:系统开销大、软硬件资源要求高。 适用环境:一般用于处理不可在预期时间内处理完的请求,主要针对于面向连接的客户-服务器模型。 网络编程界面 TCP/IP协议通常在操作系统的内核中实现。 编程界面:由操作系统提供的功能调用,可以使应用程序方便地使用内核的功能。 window Sockets是Microsoft Windows的网络程序编程接口,由Berkeley Sockets扩展而来。 Windows Sockets 2.0 头文件:Winsock2.h 库文件:Ws2_32.lib 套接字Socket 支持TCP/IP协议的操作系统为网络程序开发提供的典型网络编程界面。 套接字(Socket)是应用层与TCP/IP协议族通信的中间软件抽象层。它是一组接口,把复杂的TCP/IP协议族隐藏在Socket背后,通过Socket函数调用去传输数据以符合指定的协议。 Windows、UNIX、Linux都支持socket。 TCP/IP套接字的三种类型 流式套接字(stream sockets): 使用TCP协议,支持主机之间面向连接的、顺序的、可靠的、全双工字节流传输。 数据报套接字(datagram sockets): 使用UDP协议,支持主机之间面向非连接、不可靠的信息传输。 原始套接字(raw sockets): 允许对较低层协议(如网络层的IP、ICMP)直接进行访问,用以实现自己定制的协议或对数据报作较底层的控制。 端口与地址 在TCP/IP互联网中,服务器利用TCP或UDP的端口号作为特定服务的标识。 服务器:启动时在本地主机注册自己使用的TCP或UDP端口号 客户:通过与服务器使用的TCP端口建立连接(或直接向服务器使用的UDP端口发送信息)进行服务请求。 TCP和UDP均使用16位端口号标识用户进程。 主机地址由网络ID和主机ID组成,在TCP/IP协议中用32位整数值表示(即IPv4地址)。 典型的面向连接的流套接字API调用时序 典型的无连接协议套接字API调用时序 提纲 编程训练目的 编程训练要求 相关知识介绍 程序设计分析 扩展与提高 Server端总体设计分析 Server端TCP侦听线程(主线程)流程 定义常量 1、创建TCP套接字 2、获取计算机名 3、获取主机地址 4、将

文档评论(0)

花仙子 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档