Socket编程基础_第1页
Socket编程基础_第2页
Socket编程基础_第3页
Socket编程基础_第4页
Socket编程基础_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、网络高级编程课程主要内容v网络编程基础vSocket编程基础v并行处理、多线程编程v高级Socket编程技术v探测网络中的在线设备vNetBIOS网络编程概述“The body”“The Eyes”“The movement”CPUOpenCL异构系统并行编异构系统并行编程框架程框架概述操作系统操作系统CPU提供资源访问虚拟化提供资源访问虚拟化操作操作( (文件、硬件、网文件、硬件、网络等络等) )一切基于一切基于Web应用应用Chrome OSChromebook概述计算机网络计算机网络数据库数据库操作系统操作系统CPU互联网v 国内互联网公司v 互联网人人 机机 物物 机器:互联网设备+端

2、系统 社交网络 物联网 RFID(射频识别技术) 用于门禁,图书馆、食品安全追溯 NFC(近距离通信) 用于手机刷卡等 WSN(无线传感器网络) 应用领域可以归纳为:军事、救灾、航空、反恐、防爆、环境、医疗、保健、家居、工业、商业等概述计算机网络计算机网络数据库数据库操作系统操作系统CPU网络程序在网络体系结构中的位置v 从功能上,网络程序分为两部分:从功能上,网络程序分为两部分: 通信模块通信模块分布式应用基础分布式应用基础 用户交互或后台处理模块用户交互或后台处理模块实现网间进程通信必须解决的问题v进程间的标识v如何与网络协议栈连接 应用程序需要一个简单的方式与协议栈连接v多重协议栈的识别

3、 多重协议栈:TCP/IP, IPX/SPX(NetWare OS), Apple Talk等v不同的通信服务 不同的网络应用有不同的通信服务要求网间进程的标识vIP地址-在网络中标识主机 IP地址(网络号+主机号)v传输层端口-标识进程 端口是TCP/IP协议族中,应用层进程与传输层协议实体间的通信接口; 从实现的角度讲,端口是一种抽象的软件机制,包括一些数据结构和I/O缓冲区; 应用程序需要与端口建立绑定关系; 每个端口都拥有一个叫作端口号(port number)的整数型标识符;客户与服务器第一次通信使用端口号来判断服务Web server(port 80)客户端客户端 202.5.7.

4、8服务端服务端 42FTP server(port 21)Service request for42:80(i.e., the Web server)Web server(port 80)FTP server(port 21)Service request for42:21(i.e., the FTP server)TCP/IP协议栈协议栈TCP/IP协议栈协议栈ClientClient标识网间进程vTCP和UDP端口号分配 端口0:不使用,或者作为特殊的使用; 端口1-254:保留给特定的服务,TCP和UDP均规定,小于256

5、的端口号才能分配给网上著名的服务; 端口255-1023:保留给其他的服务,如路由; 端口1024-4999:可以用作任意客户的端口; 端口5000-65535:可以用作用户的服务器端口网络协议的特征v 面向消息的协议面向消息的协议 vs. 基于流的协议基于流的协议v 面向连接的服务面向连接的服务 vs. 无连接的服务无连接的服务 面向连接服务是电话系统服务模式的抽象,即每一次完整的数据传输都要经过建立连接,使用连接,终止连接的过程。 无连接服务是邮政系统服务的抽象,每个分组都携带完整的目的地址,各分组在系统中独立传送v 可靠性可靠性 vs. 次序性次序性三类网络编程v基于TCP/IP协议栈的

6、网络编程 基于TCP/IP协议栈的网络编程是最经典的网络编程方式,主要是使用各种编程语言,利用操作系统提供的套接字网络编程接口,直接开发各种网络应用程序。本书主要讲解这种网络编程的相关技术。v基于WWW应用的网络编程 JAVA,HTML,ASP,PHPv基于.NET框架的Web Services网络编程C/S模式v Client asks (request) server provides (response)v Typically: single server - multiple clients v The server does not need to know anything abo

7、ut the client even that it existsvThe client should always know something about the server at least where it is locatedClientprocessServerprocess1. Client sends request2. Server handlesrequest3. Server sends response4. Client handlesresponseResourceC/S模式vC/S模式,因特网上应用程序最常用的通信模式。v客户方采取的是主动请求方式,其工作过程是:

8、(1) 打开一通信通道,并连接到服务器所在主机的特定监听端口。(2)向服务器发送请求报文,等待并接收应答;继续提出请求,与服务器的会话按照应用协议进行。(3)请求结束后,关闭通信通道并终止。C/S交互模式v服务器的工作过程:(1) 打开一通信通道,并告知服务器所在的主机,它愿意在某一公认的地址上(熟知端口,如FTP为21)接收客户请求。(2) 等待客户的请求到达该端口。 (3) 服务器接收到服务请求,处理该请求并发送应答信号。(4) 返回第二步,等待并处理另一客户请求。(5) 在特定的情况下,关闭服务器。 服务器的工作方式若有多个客户端同时请求,服务器如何处理?v 循环方式(iterative

9、 mode) 在计算机中一次只运行一个服务器进程。当有多个客户进程请求服务时,服务器进程就按请求的先后顺序依次做出响应。v 并发方式(concurrent mode) 在计算机中同时运行多个服务器进程,而每一个服务器进程都对某个特定的客户进程做出响应。服务端的并发性v 并发性是C/S模式的基础,并发允许多个客户获得同一种服务,而不必等待服务器完成对上一个请求的处理。这样才能很好地同时为多个客户提供服务。v 操作系统支持并发性程序开发 Unix系统: fork(),创建新进程 Windows系统: CreateThread(),创建新线程服务器的设计方式v服务器设计方式由采用的传输层协议和工作方式决定; (TCP/UDP)+(循环/并发)v四种设计方式: 面向连接的并发面向连接的并发 面向连接的循环 无连接的并发 无连接的循环无连接的循环TCPTCP客户临时端口临时端口TCP客户临时端口TCP客户临时端口主服务器TCP 连接熟知端口仅用于接受服务请求创建从属服务器面向连接的并发服务器主服务器主要流程主服务器主要流程在周知端口上设置监听模式在周知端口上设置监听模式While(true)若在若在周知端口周知端口上有客户端的上有客户端的TCP连接请求连接请求;进行三次

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论