网络的编辑概要

上传人:今*** 文档编号:111510542 上传时间:2019-11-02 格式:PPT 页数:41 大小:293.50KB
返回 下载 相关 举报
网络的编辑概要_第1页
第1页 / 共41页
网络的编辑概要_第2页
第2页 / 共41页
网络的编辑概要_第3页
第3页 / 共41页
网络的编辑概要_第4页
第4页 / 共41页
网络的编辑概要_第5页
第5页 / 共41页
点击查看更多>>
资源描述

《网络的编辑概要》由会员分享,可在线阅读,更多相关《网络的编辑概要(41页珍藏版)》请在金锄头文库上搜索。

1、1,网络编程 -聊天室的设计与开发,2,本章要点,网络编程基础 IP 端口 套接字 数据包 协议 URL 基于Socket的网络编程 基于UDP协议的Socket通信,3,第1讲 网络编程基础,IP 端口 套接字 数据包 协议 URL InetAddress与URL,4,网络编程基础,网络程序是Java语言的重要应用之一,大批的网站和网页都采用Java语言编写而成。 Java具有非常好的Internet网络程序设计功能。因此,Java有“网上世界语”的美称。,1.IP地址IP地址概念,Internet网上的每一台主机都被分配了一个世界上唯一的号码,这个号码称为IP地址。 从IP协议的角度看,I

2、P地址由4个8位二进制数字域组成,总长度为4个字节的32位二进制数。 从用户使用的角度看,IP地址是由4个用小数点分隔的从0到255这个数字域组成。 从地址结构看,IP地址由网络号和主机号组成。,5,IP地址应数字太多难以记忆,实际应用中人们常采用另一种字符表示的地址,即域名来查找主机。 域名相对来说比较容易记忆,但却不能直接用于网络主机的查找,域名只能被域名服务器转化为IP地址后才能起到作用。,6,1.IP地址IP地址概念,7,在Java中,InetAddress类用来封装计算机的地址。用InetAddress类对象保存主机IP地址是网络编程中常用的方法。位于包中。 InetAddress类

3、没有构造方法,所以InetAddress对象不能用常规的new操作符加构造方法的方式创建。要创建一个该类对象只能采用由类名直接调用静态方法的方式。,1.IP地址 InetAddress类,8,InetAddress类包含的主要方法: getAddress() getAllByName(String host) getByName(String host) getHostName() getLocalHost() 其中斜体的方法用于创建InetAddress对象。有UnKnownHostException异常的抛出,因此,创建InetAddress对象的语句必须包括在一个trycatch()结构

4、中。,1.IP地址 InetAddress类,9,import .InetAddress; import .UnknownHostException; public class GetLocalHostAddr public static void main(String args) try InetAddress localHostAddr=InetAddress.getLocalHost(); System.out.println(“本机主机名/IP地址:“ +localHostAddr.toString(); catch (UnknownHostException e) e.printS

5、tackTrace(); ,【例8-1】应用InetAddress类获取本机主机名和IP地址。,10,程序运行结果,在控制台中显示如下内容: 本机主机名/IP地址: syyyy-wy/192.168.1.2 (结果根据实际主机发生变化),1.IP地址 InetAddress类,11,2.端口port,一台计算机与网络的物理连接只有一个接口,计算机上网,只要在网卡上接入一根网线就能满足要求 然而,一台计算机可能提供多种服务,如Web服务ftp服务、自定义服务等,如何让多种服务共享一条物理通道?,12,通过端口应用机制才使一台计算机可能提供多种服务,共享一条物理通道。 不同的服务在不同的端口上监听

6、(称为服务的监听端口),客户端连接哪个服务器的端口,就是申请建立哪个服务的网络连接。 端口可以理解为是计算机连接网络的逻辑接口,不是真正的物理意义上的端口,是一个逻辑的概念,是操作系统上的一种资源。,2.端口port,13,为了区分不同的服务,可以为每种服务设定一个端口号。 端口号是TCP/IP协议的一部分,通过这个端口,信息可以进行输入和输出。 一个端口只能同时支持一个连接,而服务器是支持大量的客户端并发的。,2.端口port,14,监听端口的作用不是用来作为以后数据交互的通道,只是用来作为接受客户端的连接请求的通道。 它的作用类似婚姻介绍所,只是一个介绍人,有人来征婚的时候,出门介绍一个,

7、给双方打一个桥,如果好事得成,那以后没它什么事,双方自己过日子去了(以后双方可以直接通信)。,2.端口port,15,一个计算机系统能提供的端口号的取值范围从0到65535 其中,从0到1023个这1024个端口是一些公用服务的端口,一般称为公认端口,比如ftp服务的默认端口是21,http服务的默认端口是80(默认端口是指当使用客户端的telnet工具时候,发起连接请求的时候,如果不指定服务器的端口,则默认就是连接服务器的默认服务的公认端口) 大于1023的端口一般作为动态分配的端口,2.端口port,16,3.套接字,套接字机制类似于文件的输入输出机制。通过使用一系列的系统调用,可以创建一

8、个套接字,并与它建立连接。此后,就可以像使用一个文件一样使用该套接字了,如可以对该套接字进行读写。 Java使用了TCP/IP套接字机制,并用一些类实现了套接字中的概念。J包中,包括最重要的Socket类和ServerSocket类。,17,信息的通信方式有面向连接和非连接两种 面向连接,指两台进行通信的计算机先建立连接后传输数据的通信方式。 非连接,指信息发送方(信源)将数据通过所含的控制信息在网络上单向传送的通信方式,4.数据包-通信方式,18,在数据传输前,信息发送方(信源)和信息接收方(信宿)之间先要进行信息交换的测试,只有当确定接收方能够接收数据后,才开始进行数据的传送。 通过在两台

9、计算机之间建立连接,数据的传输才能保证接收的数据和接收的顺序正确及数据传输准确。 比如打电话。,4.数据包面向连接的通信方式,19,非连接方式下的数据传输不要求信息发送方和信息接收方的相互连接, 因此,信息发送方发出信息后不知道信息被接收的情况,而信息接收方也不会知道收到的信息的发出情况, 这样的特点使得非连接通信方式下通信速度快,但无法保证信息接收的准确性。 如短信。,4.数据包-非连接通信方式,20,Datagram数据包方式是不事先建立连接的,服务程序将要传递的数据打包。 分成一个个小的数据包,每一个数据包都有它要送达的计算机地址。 数据包被发送后,并不能够保证它一定能够到达目的地址。

10、同样,在数据的传递过程中,也不能保证数据不被破坏或者发送方能够得到应答。 因此主机跟客户机的这种方式连接与Socket连接方式并不一样,Datagram并不是一直保持连接的,所以称为无连接方式通信。,4.数据包,21,5.协议,连接互联网的计算机各不相同,计算机使用的操作系统各不相同,接入网络的方式也各不相同,但它们都必须遵守相同的协议。 协议,通俗的讲,就是不同对象之间沟通时遵循的原则或规则。 不同的应用对应不同的协议,每种协议提供有不同的服务模型。,22,在Internet服务应用中三个基础协议: TCP(Transaction Control Protocol):传输控制协议 IP(In

11、ternet Protocol):Internet协议 UDP(User Datagram Protocol):用户数据报协议 TCP/IP协议与底层的数据链路层和物理层无关,能支持多种由下层协议构成的物理网络结构。,5.协议,5.协议-TCP协议,TCP协议在网络体系中位于传输层,是面向连接的可靠的数据传输协议。 可靠的数据传输服务指的是通信双方可以依赖TCP协议按顺序准确地传送所有数据,这意味着,当其中一方把一个字节流传入套接字时,它可以确信对方的套接字一定能收到这个字节流。 该协议的主要功能有重发任何没有被收到的数据;检查数据内容;保证数据分组的顺序正确等。 正因为TCP协议具有数据传输

12、的可靠性,所以电子邮件、远程终端访问和文件传输等都是用TCP协议,5.协议-IP协议,IP协议是网络层的主要协议,支持网络间连接的数据报通信。 提供的主要功能为数据报传送、数据报路由选择和差错控制等。 IP协议只负责数据传输,不保证传输效果 为了确保数据传输的正确,将TCP/IP协议结合使用,UDP协议是一个无连接协议,提供的数据传输服务不保证可靠。 这种不可靠数据传输服务表现为当以进程往自己的UDP套接字发出一个消息时,UDP不能保证这个消息会最终到达接收套接字。 另外,就确实到达接收套接字的消息而言,它们的到达顺序也可能与发送顺序不一致。,5.协议-IP协议,从另一方面讲,UDP协议因为不

13、包含拥塞控制机制,所以发送进程能以较快的速度向UDP套接字传递数据。 尽管不能保证所有的数据都到达接收套接字,但是仍会有相当比例的数据到达,网络电话正是使用此协议。,5.协议-IP协议,27,URL(Uniform Resource Locators,统一资源定位地址)是一种用来进行资源定位的工具。 URL值是使用数字和字母的排列来表示网络中的某一资源(文件、目录、对对象的引用)的地址。在浏览器中输入一个URL值,URL就可以按照给定的地址找到所需的资源。(浏览器是我们获取网络资源的主要工具,作为客户端软件,浏览器负责向服务器发出请求,并接收服务器给予的回应。),6.URL,28,URL的基本

14、结构: :/主机名:端口号/文件名#引用 其中参数如下: 传输协议(protocol):默认为Http协议,此外还可用http、ftp等。 主机名(hostname):资源所在主机的IP地址或域名。 端口号(portname):资源所在主机对外通信的通信口。 文件名(filename):指一个具有完整路径的文件名称。在 http协议中,默认文件名是index.html。 引用(reference):指资源内的某一特定位置。可用可不用, 一般很少用。 URL对象必须由URL类创建而出。Java中的URL类位于包中,表示URL地址。,6.URL,29,URL类的构造方法: URL homePage

15、=new URL(addr); 在创建URL对象时会产生MalformedURLException 异常,所以URL对象的语句应放在try和catch结构中。,6.URL,30,URL提供了一些方法从URL值中提取部分信息。 getProtocol():返回URL中的协议名称 getHost():返回URL中的主机名。 getPort():返回URL中的端口号。如果URL中没有设定端口号,该函数返回-1. getFile():返回URL中的文件名部分。 toString():返回整个URL值。,6.URL,31,import .MalformedURLException; import .UR

16、L; public class URLDemo public static void main(String args) try URL url=new URL(“ System.out.println(“the protocol:“+url.getProtocol(); System.out.println(“the hostname:“+url.getHost(); System.out.println(“the port:“+url.getPort(); System.out.println(“the file:“+url.getFile(); System.out.println(url.toString(); catch(MalformedURL

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号