




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1网络编程网络编程 - -聊天室的设计与开发聊天室的设计与开发;.本章要点本章要点p网络编程根底网络编程根底pIPIPp端口端口p套接字套接字p数据包数据包p协议协议pURLURLp基于基于SocketSocket的网络编程的网络编程p基于基于UDPUDP协议的协议的SocketSocket通讯通讯23第第1讲讲 网络编程根底网络编程根底pIPIPp端口端口p套接字套接字p数据包数据包p协议协议pURLURLpInetAddressInetAddress与与URLURL3网络编程根底网络编程根底o网络程序是网络程序是Java言语的重要运用之一,大批的网站和网页都采用言语的重要运用之一,大批的网
2、站和网页都采用Java言语编写而言语编写而成。成。oJava具有非常好的具有非常好的Internet网络程序设计功能。因此,网络程序设计功能。因此,Java有有“网上世界语的网上世界语的美称。美称。41.IP地址地址IP地址概念地址概念oInternetInternet网上的每一台主机都被分配了一个世界上独一的号码,这个号码称为网上的每一台主机都被分配了一个世界上独一的号码,这个号码称为IPIP地址。地址。 o从从IPIP协议的角度看,协议的角度看,IPIP地址由地址由4 4个个8 8位二进制数字域组成,总长度为位二进制数字域组成,总长度为4 4个字节的个字节的3232位位二进制数。二进制数。
3、o从用户运用的角度看,从用户运用的角度看,IPIP地址是由地址是由4 4个用小数点分隔的从个用小数点分隔的从0 0到到255255这个数字域组成。这个数字域组成。o从地址构造看,从地址构造看,IPIP地址由网络号和主机号组成。地址由网络号和主机号组成。5oIP地址应数字太多难以记忆,实践运用中人们常采用另一种字符表示的地址,即域名来查找主机。o域名相对来说比较容易记忆,但却不能直接用于网络主机的查找,域名只能被域名效力器转化为IP地址后才干起到作用。1.IP地址地址IP地址概念地址概念67o在Java中,InetAddress类用来封装计算机的地址。用InetAddress类对象保管主机IP地
4、址是网络编程中常用的方法。位于包中。oInetAddress类没有构造方法,所以InetAddress对象不能用常规的new操作符加构造方法的方式创建。要创建一个该类对象只能采用由类名直接调用静态方法的方式。1.IP地址地址 InetAddress类类78oInetAddress类包含的主要方法:ogetAddress()ogetAllByName(String host)ogetByName(String host)ogetHostName()ogetLocalHost()o其中斜体的方法用于创建InetAddress对象。有UnKnownHostException异常的抛出,因此,创建In
5、etAddress对象的语句必需包括在一个trycatch()构造中。1.IP地址地址 InetAddress类类89import .InetAddress;import .UnknownHostException;public class GetLocalHostAddr public static void main(String args) try InetAddress localHostAddr=InetAddress.getLocalHost(); System.out.println(“本机主机名本机主机名/IP地址:地址:“ +localHostAddr.toString();
6、 catch (UnknownHostException e) e.printStackTrace(); 【例【例8-1】运用】运用InetAddress类获取本机主机名和类获取本机主机名和IP地址。地址。910程序运转结果,在控制台中显示如下内容:本机主机名/IP地址: syyyy-wy/ 结果根据实践主机发生变化1.IP地址地址 InetAddress类类102.端口端口porto一台计算机与网络的物理衔接只需一个接口,计算机上网,只需在网卡上接入一根网一台计算机与网络的物理衔接只需一个接口,计算机上网,只需在网卡上接入一根网线就能满足要求线就能满足要求o然而,一台计
7、算机能够提供多种效力,如然而,一台计算机能够提供多种效力,如Web效力效力ftp效力、自定义效力等,如何让效力、自定义效力等,如何让多种效力共享一条物理通道?多种效力共享一条物理通道?1112o经过端口运用机制才使一台计算机能够提供多种效力,共享一条物理通道。经过端口运用机制才使一台计算机能够提供多种效力,共享一条物理通道。o不同的效力在不同的端口上监听称为效力的监听端口,客户端衔接哪个效力器不同的效力在不同的端口上监听称为效力的监听端口,客户端衔接哪个效力器的端口,就是恳求建立哪个效力的网络衔接。的端口,就是恳求建立哪个效力的网络衔接。o端口可以了解为是计算机衔接网络的逻辑接口端口可以了解为
8、是计算机衔接网络的逻辑接口,不是真正的物理意义上的端口,是一不是真正的物理意义上的端口,是一个逻辑的概念,是操作系统上的一种资源。个逻辑的概念,是操作系统上的一种资源。2.端口端口port1213o为了区分不同的效力,可以为每种效力设定一个端口号。为了区分不同的效力,可以为每种效力设定一个端口号。o端口号是端口号是TCP/IP协议的一部分,经过这个端口,信息可以进展输入和输出。协议的一部分,经过这个端口,信息可以进展输入和输出。o一个端口只能同时支持一个衔接,而效力器是支持大量的客户端并发的。一个端口只能同时支持一个衔接,而效力器是支持大量的客户端并发的。2.端口端口port13o监听端口的作
9、用不是用来作为以后数据交互的通道,只是用来作为接受客户端的衔接监听端口的作用不是用来作为以后数据交互的通道,只是用来作为接受客户端的衔接恳求的通道。恳求的通道。o它的作用类似婚姻引见所,只是一个引见人,有人来征婚的时候,出门引见一个,给它的作用类似婚姻引见所,只是一个引见人,有人来征婚的时候,出门引见一个,给双方打一个桥,假设好事得成,那以后没它什么事,双方本人过日子去了以后双方双方打一个桥,假设好事得成,那以后没它什么事,双方本人过日子去了以后双方可以直接通讯。可以直接通讯。2.端口端口port1415o一个计算机系统能提供的端口号的取值范围从0到65535o其中,从0到1023个这1024
10、个端口是一些公用效力的端口,普通称为公认端口,比如ftp效力的默许端口是21,http效力的默许端口是80默许端口是指当运用客户端的telnet工具时候,发起衔接恳求的时候,假设不指定效力器的端口,那么默许就是衔接效力器的默许效力的公认端口o大于1023的端口普通作为动态分配的端口2.端口端口port15163.套接字套接字o套接字机制类似于文件的输入输出机制。经过运用一系列的系统调用,可以创建套接字机制类似于文件的输入输出机制。经过运用一系列的系统调用,可以创建一个套接字,并与它建立衔接。以后,就可以像运用一个文件一样运用该套接字一个套接字,并与它建立衔接。以后,就可以像运用一个文件一样运用
11、该套接字了,如可以对该套接字进展读写。了,如可以对该套接字进展读写。oJava运用了运用了TCP/IP套接字机制,并用一些类实现了套接字中的概念。套接字机制,并用一些类实现了套接字中的概念。J包中,包括最重要的包中,包括最重要的Socket类和类和ServerSocket类。类。16o信息的通讯方式有面向衔接和非衔接两种信息的通讯方式有面向衔接和非衔接两种o面向衔接,指两台进展通讯的计算机先建立衔接后传输数据的通讯方式。面向衔接,指两台进展通讯的计算机先建立衔接后传输数据的通讯方式。o非衔接,指信息发送方信源将数据经过所含的控制信息在网络上单向传送的通非衔接,指信息发送方信源将数据经过所含的控
12、制信息在网络上单向传送的通讯方式讯方式 4.数据包数据包-通讯方式通讯方式1718o在数据传输前,信息发送方信源和信息接纳方信宿之间先要进展信息在数据传输前,信息发送方信源和信息接纳方信宿之间先要进展信息交换的测试,只需当确定接纳方可以接纳数据后,才开场进展数据的传送。交换的测试,只需当确定接纳方可以接纳数据后,才开场进展数据的传送。o经过在两台计算机之间建立衔接,数据的传输才干保证接纳的数据和接纳的顺经过在两台计算机之间建立衔接,数据的传输才干保证接纳的数据和接纳的顺序正确及数据传输准确。序正确及数据传输准确。o比如打。比如打。4.数据包数据包面向衔接的通讯方式面向衔接的通讯方式1819o非
13、衔接方式下的数据传输不要求信息发送方和信息接纳方的相互衔接,o因此,信息发送方发出信息后不知道信息被接纳的情况,而信息接纳方也不会知道收到的信息的发出情况,o这样的特点使得非衔接通讯方式下通讯速度快,但无法保证信息接纳的准确性。o如短信。4.数据包数据包-非衔接通讯方式非衔接通讯方式1920oDatagram数据包方式是不事先建立衔接的,效力程序将要传送的数据打包。数据包方式是不事先建立衔接的,效力程序将要传送的数据打包。o分成一个个小的数据包,每一个数据包都有它要送达的计算机地址。分成一个个小的数据包,每一个数据包都有它要送达的计算机地址。o数据包被发送后,并不可以保证它一定可以到达目的地址
14、。数据包被发送后,并不可以保证它一定可以到达目的地址。o同样,在数据的传送过程中,也不能保证数据不被破坏或者发送方可以得到应对。同样,在数据的传送过程中,也不能保证数据不被破坏或者发送方可以得到应对。o因此主机跟客户机的这种方式衔接与因此主机跟客户机的这种方式衔接与Socket衔接方式并不一样,衔接方式并不一样,Datagram并并不是不断坚持衔接的,所以称为无衔接方式通讯。不是不断坚持衔接的,所以称为无衔接方式通讯。4.数据包数据包20215.协议协议o衔接互联网的计算机各不一样,计算机运用的操作系统各不一样,接入网络的方式也各不一样,但它们都必需遵守一样的协议。o协议,通俗的讲,就是不同对
15、象之间沟通时遵照的原那么或规那么。o不同的运用对应不同的协议,每种协议提供有不同的效力模型。2122o在Internet效力运用中三个根底协议:oTCP(Transaction Control Protocol):传输控制协议oIP(Internet Protocol):Internet协议oUDP(User Datagram Protocol):用户数据报协议oTCP/IP协议与底层的数据链路层和物理层无关,能支持多种由下层协议构成的物理网络构造。5.协议协议225.协议协议-TCP协议协议oTCP协议在网络体系中位于传输层,是面向衔接的可靠的数据传输协议。协议在网络体系中位于传输层,是面向
16、衔接的可靠的数据传输协议。o可靠的数据传输效力指的是通讯双方可以依赖可靠的数据传输效力指的是通讯双方可以依赖TCP协议按顺序准确地传送一切数协议按顺序准确地传送一切数据,这意味着,当其中一方把一个字节流传入套接字时,它可以确信对方的套接据,这意味着,当其中一方把一个字节流传入套接字时,它可以确信对方的套接字一定能收到这个字节流。字一定能收到这个字节流。o该协议的主要功能有重发任何没有被收到的数据;检查数据内容;保证数据分组该协议的主要功能有重发任何没有被收到的数据;检查数据内容;保证数据分组的顺序正确等。的顺序正确等。o正由于正由于TCP协议具有数据传输的可靠性,所以电子邮件、远程终端访问和文
17、件传协议具有数据传输的可靠性,所以电子邮件、远程终端访问和文件传输等都是用输等都是用TCP协议协议235.协议协议-IP协议协议oIP协议是网络层的主要协议,支持网络间衔接的数据报通讯。o提供的主要功能为数据报传送、数据报路由选择和过失控制等。oIP协议只担任数据传输,不保证传输效果o为了确保数据传输的正确,将TCP/IP协议结合运用24oUDPUDP协议是一个无衔接协议,提供的数据传输效力不保证可靠。协议是一个无衔接协议,提供的数据传输效力不保证可靠。o这种不可靠数据传输效力表现为当以进程往本人的这种不可靠数据传输效力表现为当以进程往本人的UDPUDP套接字发出一个音讯时,套接字发出一个音讯
18、时,UDPUDP不能保证这个音讯会最终到达接纳套接字。不能保证这个音讯会最终到达接纳套接字。o另外,就确实到达接纳套接字的音讯而言,它们的到达顺序也能够与发送顺序不另外,就确实到达接纳套接字的音讯而言,它们的到达顺序也能够与发送顺序不一致。一致。5.协议协议-IP协议协议25o从另一方面讲,从另一方面讲,UDPUDP协议由于不包含拥塞控制机制,所以发送进程能以较快的速度协议由于不包含拥塞控制机制,所以发送进程能以较快的速度向向UDPUDP套接字传送数据。套接字传送数据。o虽然不能保证一切的数据都到达接纳套接字,但是仍会有相当比例的数据到达,虽然不能保证一切的数据都到达接纳套接字,但是仍会有相当
19、比例的数据到达,网络正是运用此协议。网络正是运用此协议。5.协议协议-IP协议协议26oURLUniform Resource Locators,一致资源定位地址是一种用来进展资源一致资源定位地址是一种用来进展资源定位的工具。定位的工具。oURL值是运用数字和字母的陈列来表示网络中的某一资源文件、目录、对对象的值是运用数字和字母的陈列来表示网络中的某一资源文件、目录、对对象的援用的地址。在阅读器中输入一个援用的地址。在阅读器中输入一个URL值,值,URL就可以按照给定的地址找到所需就可以按照给定的地址找到所需的资源。阅读器是我们获取网络资源的主要工具,作为客户端软件,阅读器担任的资源。阅读器是
20、我们获取网络资源的主要工具,作为客户端软件,阅读器担任向效力器发出恳求,并接纳效力器给予的回应。向效力器发出恳求,并接纳效力器给予的回应。6.URL2728oURL的根本构造:o :/主机名:端口号/文件名#援用o其中参数如下:o传输协议(protocol):默以为Http协议,此外还可用http、ftp等。 o主机名hostname:资源所在主机的IP地址或域名。o端口号portname:资源所在主机对外通讯的通讯口。o文件名:指一个具有完好途径的文件称号。在 http协议中,默许文件名是index.html。o援用reference:指资源内的某一特定位置。可用可不用, 普通很少用。oUR
21、L对象必需由URL类创建而出。Java中的URL类位于包中,表示URL地址。6.URL2829oURL类的构造方法:oURL homePage=new URL(addr);o在创建URL对象时会产生MalformedURLException 异常,所以URL对象的语句应放在try和catch构造中。6.URL2930oURL提供了一些方法从URL值中提取部分信息。ogetProtocol():前往URL中的协议称号ogetHost():前往URL中的主机名。ogetPort():前往URL中的端口号。假设URL中没有设定端口号,该函数前往-1.ogetFile():前往URL中的文件名部分。o
22、toString():前往整个URL值。6.URL30import .MalformedURLException;import .URL;public class URLDemo public static void main(String args) tryURL 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.
23、println(the file:+url.getFile();System.out.println(url.toString();catch(MalformedURLException e)System.out.println(e);31运转结果运转结果the protocol:the hostname:the port:-1the 3233o创建InetAddress对象的代码:oInetAddress ip;otry ip=InetAddress.getByName(homePage.getHost();ocatch(UnknownHostException uh)o其中,ohomePa
24、ge是一个URL值;ogetByName是InetAddress类的静态方法,前往值为给定主机的IP地址。7.InetAddress与与URL33import .*;import java.awt.*;import java.awt.event.*;public class GetIP extends Frame implements ActionListener TextField text1, text2, text3;Label lab1, lab2, lab3;Button but1, but2;URL add;InetAddress ip;34GetIP() super(IP地址查询
25、窗口);setSize(500, 150);setLayout(null);text1 = new TextField(30);text1.setBounds(240, 36, 220, 20);text2 = new TextField(30);text2.setBounds(240, 66, 220, 20);text3 = new TextField(16);text3.setBounds(240, 96, 100, 20);lab1 = new Label(URL);lab1.setBounds(10, 30, 200, 30);lab2 = new Label(主机域名 );lab2.setBounds(10, 60, 200, 30);lab3 = new Label(主机IP地址);lab3.setBounds(10, 90, 220, 30);but1 = new Butt
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 子宫肌瘤诊治规范
- 教师基层服务工作总结
- 阿坝师范学院《大学基础听说4》2023-2024学年第二学期期末试卷
- 扫黑除恶专项斗争工作培训
- 陕西交通职业技术学院《数学竞赛指导》2023-2024学年第一学期期末试卷
- 陕西机电职业技术学院《国际会展实务》2023-2024学年第二学期期末试卷
- 陕西电子信息职业技术学院《舆情监测与危机应对》2023-2024学年第二学期期末试卷
- 国家电子商务标准体系研究
- 陕西省榆林市绥德县2025届初三化学试题模拟卷试题含解析
- 陕西省汉中市部分高中2025年高三下学期5月月考生物试题文试题含解析
- 雷锋叔叔你在哪里教学反思
- (新版)国家统计执法证资格考试备考题库(含答案)
- 项目验收单标准模板
- 24式太极拳教案(1~4课)
- 小学 三年级 心理健康《最好的老师-兴趣的作用》教学设计
- DB12T 1040-2021 建筑工程规划管理技术规范
- 中国绿色经济发展之路(PPT-37张)课件
- G322-1钢筋砼过梁
- 客房控制系统——RCU系统培训PPT通用通用课件
- 压力管道安装许可证换证自评报告
- (会议纪要(2011)第29期)河南煤业化工集团有限责任公司会议纪要
评论
0/150
提交评论