版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第11章Java中的网络编程, 1 .在URL类1 .在URL中读取资源1 .在URL资源中显示HTML文件4 .处理超网络链接5.InetAddress类6 .套接口套接口7 .在多线程中处理套接口连接8.UDP数据报9 .在广播的封装中在统一资源定位符(rce locator )的抽象化中,使用URL创建对象的应用被称为客户端堆计程仪程序,该应用程序将对特定资源的引用存储在URL对象中,并且该客户端在该URL中使用资源连接协议必须是URL对象所在的Java虚拟机所通讯端口的连接协议。 许多连接协议并不常见,常见的Http、Ftp和file连接协议都是虚拟机通讯端口的连接协议。 地址必须是可
2、连接的有效IP地址或网络域名。 该资源可以是男公关上的任何文件。 一个URL的构造器方法公共URL (字符串规范) throwsmalformedurlexception此构造器方法是try url=new URL (); catch (大型机器人选择) system.out.println (badurl : URL ); URL对象使用的连接协议是Http连接协议,用户将与此连接协议中指定的服务器通讯。 此URL对象的地址为“”,包含的资源是差动奥尔特资源(主页)。 公共URL (字符串协议,字符串主机, string file ) throwsmalformedurlexception由
3、该构造方法构成的url对象的连接协议、地址、资源分别由残奥仪表协议、协议、11.2URL构成URL对象调用InputStream openStream ()方法,返回指向URL对象中包含的资源的输入流。 所述输入流使得服务器上的资源信息能够被读取到客户端。 例11-1如果在一个字符框中输入URL,喀呖声ok按钮来读取服务器上的资源,则由于网络速度等,URL资源的读取可能会发生堵塞,因此,计程仪程序会用一个线程读取URL资源,不堵塞主线程可以显示11.3URL资源的html文件,在文本区域显示其主页的内容,但想看网页的执行效果。 Javax.swing包中的JEditorPane类可以解释htm
4、l文件的执行。 也就是说,将html文件导入JEditorPane后,该html文件将被解释并显示在JEditorPane中,plump可以看到网页的执行效果。JEditorPane类的建构方法可以使用公共JEditorPane ()公共JEditorPane (通用页) throwsioexceptionpublicjeditorpane (str IIC )。 throws IOException建构JEditorPane对象,以下两种建构方法使用残奥仪表initialPage或url指定对象最初显示的url中的资源: JEditorPane对象调用公共语音设置页(url page ) t
5、hrowsioexception方法显示新URL的资源。 在示例11-2中,JEditorPane对象显示网页。 如果处理11.4超级网络链接,并且JEditorPane对象调用setEditable方法将编辑属性设置为false,则不仅会显示网页的执行效果,而且还会显示、 当用户在网页中喀呖声超级网络链接时,HyperlinkEvent上通告计程仪程序可以通过处理HyperlinkEvent上通告查看JEditorPane对象的新URL资源。 JEditorPane对象调用addhyperlinklistener (hyperlinklistenerlistener )以获取监视器。 监视屏
6、必须实现hyperlink监听器接口。 在此界面中,当voidhyperlinkupdate (hyperlinkevente )在示例11-3中喀呖声超级网络链接时,将出现在JEditorPane对象上网络链接超级网络链接的网页、11.5 inet地址类,网际网络上的男公关为: (1)网络域名,如(2)IP地址,如、 在10包中的InetAddress类对象中包含InetAddress类对象将网络域名或IP地址传递给此方法的残奥仪表s,以获取包含主机地址网络域名和IP地址的InetAddress对象此对象包含的信息分别获取示例11-4网络域名的男公关网络域名和IP地址
7、,IP地址 .执行上述程序时,请确认已连接到网际网络(通过拨号或有线局域网直接连接到互联网) 。 上述计程仪程序的执行结果: InetAddress类还包含两个斯坦共和国方法,即公共字符串gethostname ()获取InetAddress对象中包含的网络域名。 publicStringgetHostAddress ()获取InetAddress对象中包含的IP地址。2要获取本地计算机的地址,请使用InetAddress类的静态方法getLocalHost (); 获取包含本地计算机的网络域名和IP地址的InetAddress对象。 11.6套接口套接口,IP地址标
8、识网际网络上的计算机,而通讯端口号标识计算机上运行的进程(程序计程仪程序)。 将通讯端口号和IP地址组合,创建网络套接口。 通讯端口号定义为16二进制位的整数065535。 其中,01023被预先定义的服务通讯占用(例如telnet占用通讯端口23,http占用通讯端口80等)。 除非您需要网站数据库到这些个中的特定服务,否则必须使用102465535这些个中的一个通讯端口进行通讯,以防止出现通讯端口网络冲突。 此外,1套接口连接所谓的套接口连接是指客户机侧的套接口对象和服务器侧的套接口对象通过投入产出流连接,当前分三个步骤说明套接口连接的基本模式(1) 服务器有责任等待建立ServerSoc
9、ket对象ServerSocket对象的客户机请求建立套接口连接,就像是邮政局窗口中的业务员。 也就是说,服务必须预先建立服务器套接口对象,等待客户建立套接口连接。 服务器套接字的建构方法是服务器套接字(intport ),并且由于在建构服务器套接口时可能发生IOException异常,因此建构接收客户端的服务器套接口。 tryserversocketwaitsocketconnection=新服务器套接字(1880 ); 一旦建立了catch(IOExceptione )服务器的ServerSocket对象waitSocketConnection,就使用方法accept ()在名为waitS
10、ocketConnection的查询密码中接受客户的套接口连接请求因为收到客户的套接口可能会引发IOException异常,所以创建一个可以接受客户的套接口。 trysocketsocketatserver=waitsocketconnection.accept (); “接收”catch(IOExceptione )客户的套接口请求是指accept ()方法返回一个套接口对象,即称为服务器端套接口对象的套接口对象。 socketsocketatserver=waitsocketconnection.accept (); system.out.println (确定) catch (ioexc
11、eptione ) (2)用户端会建立Socke物件。 客户端pump计程仪程序可以使用套接口类创建对象。 在套接口中,套接口(stringhost,intport )残奥仪表主机作为服务器的IP地址,端口作为通讯端口号进行建构。 还可以使用套接口类的无残奥仪表构造器publicSocket ()来创建不请求连接的套接口对象。 此对象通过调用公共void连接(socketaddressendpoint ) throwsioexception请求和残奥仪表socket地址指定的地址的套接口来建立连接。若要使用connect方法,请使用SocketAddress的子类InetSocketAddre
12、ss创建对象,并且InetSocketAddress的建构方法是使用publicinetsocketaddress (inet address 建立到服务器的套接口连接trysocketsocketatclient=new套接口(“8”,1880 ),因为创建套接口对象可能会引发IOException异常客户机建立socketAtClient对象的过程是向服务器发出套接口连接请求。 如果服务器套接口对象使用accept方法在服务器端的相应通讯端口上等待客户机,则生成将双方的套接口对象套接口atclient和套接口atserrt、(3)客户机和服务器端流式传输连
13、接的套接口对象后,也将投入产出流连接起来服务器端的该套接口对象socketAtServer使用方法getOutputStream ()获取的输出流是客户端端的套接口对象socketAtClient使用方法getInputStream ()获取的输入流类似地,服务器侧的套接口对象ocketAtServer使用方法getInputStream ()获取的输入流是客户端侧的套接口对象socketAtClient使用方法getOutputStream ()获取的因此,当服务将信息写入输出流时,客户端可以通过相应的输入流来读取信息。 然后,当建立连接时,服务器端的套接口对象调用getInetAddres
14、s ()方法获得包含客户机的IP地址和网络域名的InetAddess对象,并且以相同方式对客户机端的套接口对象调用getInetAddress () 方法获取InetAddess套接口调用close ()可以关闭两个套接口连接,而当一个连接关闭时,另一个连接将引发IOException异常。 在示例11-5中,客户机将ASCII表序列值: 1127发布给服务,服务器接收这些个数据,并将与该序列值相对应的字符返回给客户机。 首先,编译并运行示例5中的服务器端Server.java,等待客户请求连接。 然后,执行客户端堆计程仪程序。 因为输入流和输出流的操作与套接口连接相关联,并且客户端或服务器使
15、用11.7多线程处理套接口连接来读取数据,则可能引起拥塞,所以将读取的数据放入另一线程进行,并且服务器端将接收客户的套接口使用所学的组件,设置更复杂的套接口连接。 在示例11-6中,客户输入并向服务器发送初级二次方程的系数,并且服务器向客户返回经过校正的方程的实数。 因此,您可以将大量的工作放在服务器端,客户可以负责少量的工作,实现客户和服务器的人机交互修订,完成塔斯克。 (1)将数据报文分组化,称为报文分组(像在信封中放消息那样),并将报文分组发送至目的地。 (2)接受他人发来的报文分组(如接受信封),查看报文分组内容。 1发送数据(1)创建DatagramPacket对象首先使用Datag
16、ramPacket类打包数据。 也就是说,在datagrampacket类中创建一个称为报文分组的对象。 使用DatagramPacket的两种建构方法创建要发送的报文分组: 使用数据包(bytedata,intlength,InetAddtressaddress,intport )数据包InetAddtressaddress,intport )构造方法创建的此报文分组发送地址为address,通讯端口号为port的男公关。 地址称为其目标地址,端口称为此报文分组的目标通讯端口号。 其中,利用第二结构方法创建的报文分组对象包含数组data从offset中指定的长度的数据。 最近好吗?/最近好吗
17、? inetaddtressaddress=inetaddtress.getname (); datagrampacketdata _ pack=newdatagrampacket (数据、数据.长度、地址、980 ); 2 )发送数据是DatagramSocket类的无残奥仪表的建构方法:用DatagramSocket ()创建负责发送报文分组的对象。例如,datagramsocketmail _ out=newdatagramsocket (); mail _ out.send (data _ pack ):2传入数据DatagramSocket类的另一种建构方法: DatagramSocket(intport )创建与传入报文分组的通讯端口号具有相同残奥元的对象。 例如,发送侧发送
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- ISO 170882021 塑料可堆肥塑料的有机回收规范标准立项发展报告
- 2025-2030年学生台椅行业数字营销策略分析研究报告
- 2025-2030年管理协作软件行业深度调研及发展战略咨询报告
- 人教版小学四年级数学下册平均数与条形统计图《单元综合复习》教案
- 防溺水小知识小学主题班会课件
- 钢琴教师学生教学成果与家长满意度KPI考核表
- 零售行业门店店长综合业绩绩效衡量表
- 感恩之心常怀揣小学主题班会课件
- 商业策略市场细分与定位方案
- 学校绿化养护服务方案说明
- 眼镜制造工程师考试试卷及答案
- 铸造考核细则培训课件
- 河道挡墙钢板桩围堰施工方案
- 前列腺癌诊疗指南(2026版)
- 医院临床路径管理实施及考核评价细则
- 2026 酒店客房布置实训课件
- 2025福州市鼓西街道社区工作者招聘考试真题及答案
- 钢结构施工工期压缩方案
- TGDACM 0174-2026 中医技术操作规范 温通拨筋罐疗法
- 一线三等角形相似课件
- 监委留置工作培训课件
评论
0/150
提交评论