Java网络程序设计(第1节).ppt

  1. 1、本文档共46页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
1.2.6 端口 通常一台主机上总是有很多个进程需要网络资源进行网络通讯。网络通讯的对象准确的讲不是主机,而应该是主机中运行的进程 这时候光有主机名或IP地址来标识这么多个进程显然是不够的。 端口号就是为了在一台主机上提供更多的网络资源而采取得一种手段,也是TCP层提供的一种机制。 只有通过主机名或IP地址和端口号的组合才能 唯一的确定网络通讯中的对象:进程。 1.2.6 端口 端口号可以是0~65535之间的任意一个整数 知名端口(Well-Known Ports):知名端口即众所周知的端口号,范围从0到1023,这些端口号一般固定分配给一些服务。比如21端口分配给FTP服务,25端口分配给SMTP(简单邮件传输协议)服务,80端口分配给HTTP服务 动态端口(Dynamic Ports):动态端口的范围从1024到65535,这些端口号一般不固定分配 给某个服务,也就是说许多服务都可以使用这 些端口。只要运行的程序向系统提出访问网络 的申请,那么系统就可以从这些端口号中分配 一个供该程序使用 第1章 Java网络程序设计基础 网络程序设计基础 网络基础知识 Java语言 1.3网络程序设计基础 网络程序设计的目的就是直接或间接地通过网络协议与其他计算机进行通讯。也就是在TCP/IP协议基础上实现应用层。这里传输层向应用层提供了套接字socket接口,该接口封装了下层的数据传输细节,应用层的程序通过socket来建立与远程主机的连接以及进行数据传输。 网络编程中有两个主要的问题,一个是如何准确的定位网络上一台或多台主机,另一个就是找到主机后如何可靠高效的进行数据传输。 1.3网络程序设计基础 TCP/IP协议中IP层主要负责网络主机的定位,数据传输的路由,由IP地址可以唯一地确定Internet上的一台主机。 传输层则提供面向应用的可靠的或非可靠的 数据传输机制,这是网络编程的主要对象, 一般不需要关心IP层是如何处理数据的。 1.3.1 客户机/服务器模型 目前较为流行的网络编程模型是客户机/服务器(C/S)结构。即通信双方一方作为服务器等待客户提出请求并予以响应。 客户则在需要服务时向服务器提出申请。 服务器一般作为守护进程始终运行,监听网络端口,一旦有客户请求,就会启动一个服务线程来响应该客户,同时自己继续监听服务端口,使后来的客户也能及时得到服务。 客户机(Client)和服务器(Server)都是 指通信中所涉及的两个应用进程。客户服务 器方式所描述的是进程之间服务和被服务的 关系 1.3.1 客户机/服务器模型 客户程序: 被用户调用后运行,在通信时主动向远地服务器发起通信(请求服务)。因此,客户程序必须知道服务器程序的地址。 不需要特殊的硬件和很复杂的操作系统。 服务器程序: 是一种专门用来提供某种服务的程序,可同时处理多个远地或本地客户的请求。 系统启动后即自动调用并一直不断地运行着,被动地等待并接受来自各地的客户的通信请求。因此,服务器程序不需要知道客户程序的地址。 一般需要强大的硬件和高级的操作系统支持。 客户与服务器的通信关系建立后,通信可以是双向的, 客户和服务器都可以发送和接收数据。 1.3.2 套接字 套接字(Socket)是TCP/IP中的基本概念,它负责将TCP/IP包发送到指定的IP地址 套接字也可以看成是在两个程序进行通信连接中的一个端点,一个程序将信息写入Socket中,该Socket将这段信息发送到另一个Socket中,使这段信息能够传送到其他程序。 这两端的程序可以是在一台计算机上,也可以在因特网的远程计算机上。 有两个基于数据流的套接字类: ServerSocket,服务器用它侦听进入的连接; Socket,服务器、客户机用它完成数据的传输。 1.3.2 套接字 一旦客户机申请建立一个套接字,ServerSocket就会返回(通过accept( )方法)一个对应的服务器端套接字,以便进行直接通信 可以利用getInputStream( )以及getOutputStream( )从每个套接字产生对应的InputStream和OutputStream对象 创建一个ServerSocket时,只需为其赋予一个端口号,不必把一个IP地址分配给它,因为它 已经在自己代表的那台机器上。但在创建一 个Socket时,却必须同时赋予IP地址以及连 接的端口号。 本章小结 本章介绍了Java语言的特点:简单、面向对象、多线程、分布性、体系结构中立、安全性等方面,Java中的常用的包以及Java集成开发环境Eclipse 网络基础知识中介绍了本书网络程序设计中用到的些概念:ISO/OSI参考模型、TCP/IP参考模型、TCP/IP协议、IP地址、域名、端

文档评论(0)

xuefei111 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档