《Java 2面向对象程序设计基础》第8章Java的网络编程.ppt

上传人:qwe****56 文档编号:70009182 上传时间:2023-01-14 格式:PPT 页数:78 大小:704.50KB
返回 下载 相关 举报
《Java 2面向对象程序设计基础》第8章Java的网络编程.ppt_第1页
第1页 / 共78页
《Java 2面向对象程序设计基础》第8章Java的网络编程.ppt_第2页
第2页 / 共78页
点击查看更多>>
资源描述

《《Java 2面向对象程序设计基础》第8章Java的网络编程.ppt》由会员分享,可在线阅读,更多相关《《Java 2面向对象程序设计基础》第8章Java的网络编程.ppt(78页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、http:/ Java的网络编程(时间:3次课,6学时)http:/ Java的网络编程 n教教学学提提示示:Java语语言言已已成成为为网网络络应应用用软软件件开开发发的的主主要要工工具具。使使用用Java语语言言进进行行网网络络连连接接编编程程比比C+语语言言要要容容易易得得多多。Java提提供供了了许许多多内内置置的的网网络络功功能能,使使开开发发基基于于Internet和和Web的应用程序更容易。的应用程序更容易。n本本章章主主要要介介绍绍:网网络络基基础础知知识识、Socket套套接接字字、Java开开发发TCP/IP程序、多线程服务器、数据报、程序、多线程服务器、数据报、URL资源

2、资源http:/ Java的网络编程 n8.1 网络基础知识网络基础知识n8.2 Socket套接字套接字n8.3 Java开发开发TCP/IP程序程序n8.4 多线程服务器多线程服务器n8.5 数据报数据报n8.6 URL资源资源n8.7 网络聊天程序实例网络聊天程序实例n8.8 课后练习课后练习 http:/ 网络基础知识网络基础知识 n8.1.1 TCP/lP参考模型参考模型n8.1.2 建立网络连接建立网络连接 http:/ 网络基础知识网络基础知识 n网络编程涉及客户与服务器两个方面及它们之间的联系。客户端请求服务器执行某个操作,服务器执行这个操作并对客户端作出响应。在网页浏览器与h

3、ttp 服务器之间,按照请求应答响应模式工作。当用户在浏览器中选定一个网站时,这个请求就发送到相应的网络服务器上。服务器发送相应的HTML网页来响应客户端。http:/ TCP/lP参考模型参考模型 nTCP/IP是传输控制协议/网际协议的简称,它包含100多个不同功能的协议,是互联网上的通信规则。其中最主要的是TCP 和IP协议。TCP/IP是一个四层的体系结构,它包含应用层、传输层、网际层和网络接口层。http:/ TCP/lP参考模型参考模型 n按照网络通信的不同层次,Java提供的网络功能有4大类:URL、Sockets、Datagram和InetAddress。应用层负责将网络传输的

4、信息转换成我们能够识别的信息,包括很多面向应用的协议,如SMTP(简单邮件传输协议)、HTTP(超文本传输协议)等。在这一层,Java使用URL、URLConnection 类。通过URL 类,Java程序可以直接发出或读取网络上的数据。传输层提供端到端的通信,包括面向连接的TCP(传输控制协议)和无连接的UDP(用户数据包协议)。TCP协议提供了可靠的数据传输服务,具有流量控制、拥塞控制、按顺序递交等功能。UDP增加的服务是不可靠的,但其系统资源开销小,在流媒体系统中使用较多。http:/ 建立网络连接建立网络连接 nTCP/IP 中的端口号是一个16 位的数字,它的范围是065535。其中

5、的01023为系统所保留,专门用于那些通用的服务(例如TELNET、SMTP 和FTP 等),如HTTP 服务的端口号为80,TELNET服务的端口号为21,FTP 服务的端口号为23。因此,编写通信程序时,应选择一个大于1023 的数作为端口号,以免发生冲突。IP地址与端口号组合可以完全分辨Internet 上某台计算机运行的某一程序。n客户和服务器必须事先约定所使用的端口。如果系统两部分所使用的端口不一致,则不能进行通信。客户端与服务器端建立连接的过程如图8-2 所示。http:/ 建立网络连接建立网络连接 n图8-2 客户端与网络的连接过程http:/ 建立网络连接建立网络连接 n服务器

6、端软件在远程计算机上连续不断地运行,监听各端口上的通信请求。当服务器上接收到一个对某一端口的连接请求时,就唤醒正在运行的服务器软件,建立连接。该连接将一直保持下去,直到通信的某一方将它中断。http:/ Socket套接字套接字 nSocket(套接字)是网络上运行的两个程序之间双向通信链路的终端点,它是TCP和UDP的基础。一个Socket 被绑定到一个端口号上,这样传输层就能识别数据要发送哪个应用程序。n建立网络连接之后,使用与Socket 相关联的流和使用其他流非常相似。基于Socket的通信通过Socket 读取和写入数据,使应用程序对网上数据的读写操作,像对本地文件的读写一样简单。S

7、ocket 允许程序把网络连接当成一个流,可以向这个流写字节,也可以从这个流读取字节。http:/ Socket套接字套接字 nJava 提供了Stream Sockets(流套接字)和Datagram Sockets(数据报套接字)。用Stream Sockets 可以在两个进程之间建立一个连接,连接建立后,数据在相互连接的进程间流动。所以说Stream Sockets 提供面向连接的服务,它使用的是TCP 协议。n在Java编程语言中,TCP/IP Socket 连接是用包中的类实现的。图8-3 说明了Socket 连接机制。http:/ Socket套接字套接字 n图8-3 Socket

8、连接机制http:/ Socket套接字套接字nSocket工程的通信过程如下。工程的通信过程如下。n(1)建立连接:服务器端程序分配一个端口号,开始监听来自客户端的请求。当客户请求一个连接时,服务器使用accept()方法打开Socket 连接,将该Socket 连接到此端口上。n(2)数据通信:服务器和客户端使用Socket 的InputStream(输入流)和OutputStream(输出流)进行通信。n(3)关闭连接:通信结束,服务器和客户端程序断开连接,释放所占用的系统资源。http:/ Java开发开发TCP/IP程序程序 nJava所提供的网络功能可大致分为如下4大类。nInet

9、Address:在网络层,用于标识网络上的硬件资源。nURL 和URLConnection:可表示和建立确定网络上资源的位置,Java程序可以直接读入网络上的数据,或把自己的数据传送到网络的另一端。nSocket:是两个不同的程序之间在网络上传输数据的通道,这是网络程序中最基本的方法。一般在TCP/IP协议下的客户服务器软件采用Socket 作为交互方式。nDatagram:是功能最低级的一种。其他网络数据传送方式,都假想在程序执行时,建立一条安全稳定的通道。但是以Datagram 方式传送数据时,只把数据目的地记录在数据包中,然后就直接放在网络上进行传输,系统不保证数据一定能够安全送到,也不

10、能确定什么时候可以送到。http:/ 多线程服务器多线程服务器 n8.4.1 服务器端服务器端ServerSocketn8.4.2 客户端客户端Socketn8.4.3 多线程服务器实例多线程服务器实例 http:/ 多线程服务器多线程服务器 nJava软件包内在支持的网络协议为TCP/IP,也是当今最流行的广域网/局域网协议。Java有关网络的类及接口定义在包中。客户端软件通常使用包中的核心类Socket与服务器的某个端口建立连接,而服务器程序不同于客户机,它需要初始化一个端口进行监听,遇到连接呼叫,才与相应的客户机建立连接。http:/ 服务器端服务器端ServerSocket n在Ser

11、verSocket 类中包含了创建ServerSocket 对象的构造方法、在指定端口监听的方法、建立连接后发送和接收数据的方法。n构造方法如下:构造方法如下:npublic ServerSocket(int port)throws IOException BindExceptionpublic ServerSocket(int port,int queuelength)throws IOException,BindExceptionnpublic ServerSocket(int port,int queuelength,InetAddress bindaddress)throws IOEx

12、ception,BindExceptionhttp:/ 服务器端服务器端ServerSocketnServerSocket 类的常用方法有以下几个。类的常用方法有以下几个。npublic Socket accept()throws IOExceptionnpublic void close()throws IOExceptionnpublic InetAddress get InetAddress()npublic int getLocalPort()http:/ 客户端客户端Socket n客户端客户端Socket的构造函数如下。的构造函数如下。n(1)public Socket(Strin

13、g host,int port)throws unknownHostException,IOExceptionn这个方法建立一个到主机这个方法建立一个到主机host、端口号为、端口号为port 的套接字,连接到远程主机。示的套接字,连接到远程主机。示范代码如下。范代码如下。ntrynn Socket soc=new Socket(,80);n /发送数据发送数据nncatch(unknownHostException uex)nnncatch(IOException e)nnn(2)public Socket(InetAddress host,int port)throws IOExcepti

14、onn建立一个套接字,与前一个不同的是,它用建立一个套接字,与前一个不同的是,它用InetAddress 对象指定套接字。如对象指定套接字。如果出错则抛出果出错则抛出IOException 异常。异常。http:/ 客户端客户端Socket nSocket类的常用方法有以下几个。n(1)public InetAddress getInetAddress()n调用Socket 对象的getInetAddress()方法返回连接到远程主机的地址,如果连接失败,则返回以前连接的主机。n(2)public int getPort()n返回Socket连接的远程主机端口号。n(3)public int

15、getLocalPort()n一个Socket 连接两个终端,方法getLocalPort()返回本地连接终端的端口号。http:/ 客户端客户端Socket n(4)public InetAddress getLocalAddress()n此方法告诉用户套接字Socket 绑定到哪个网络接口。用户通常在多目录的主机或带有多目录的网络接口上使用这个方法。n(5)public InputStream getInputStream()throws IOExceptionn这个方法返回一个输入流,利用这个流就可以从套接字读取数据。通常连接这个流到一个BufferedInputStream 或者Buf

16、feredReader。http:/ 客户端客户端Socketn(6)public OutputStream getOutputStream()throws IOExceptionn返回一个原始的Outputstream,可以从应用程序写数据到套接字的另一端。通常将它连接到DataOutputStream 或者OutputStreamWriter 等更方便的类,还可以连接到缓冲类。n(7)public synchronized void close()throws IOExceptionn虽然套接字会在程序结束时被自动关闭,但是应该用close()方法断开连接,特别是要运行无限长时间的程序时。

17、http:/ 多线程服务器实例多线程服务器实例 n【例8.1】下面进行客户机/服务器模式下的Socket 编程,包括一个服务器和一个客户机的程序例子。服务器端程序负责监听客户机请求,为每个客户机请求建立Socket 连接,从而为客户机提供服务。本程序提供的服务为:读取来自客户机的命令,根据客户机的命令,决定服务器要发给客户机的信息,并发送给客户机。http:/ 多线程服务器实例多线程服务器实例 n(1)TCP/IP 服务器服务器ServerSocketn/=Program Discription=n/程序名称:程序名称:SimpleServer.javan/程序目的:程序目的:TCP/IP服务

18、器应用程序依靠服务器应用程序依靠Java技术语言提供的网络类。技术语言提供的网络类。ServerSocket类类n/完成建立一个服务器所需的大部分工作。在本机端口完成建立一个服务器所需的大部分工作。在本机端口5432提供时间服务提供时间服务n/=nimport java.io.*;nimport java.util.*;nimport .*;npublic class SimpleServer nnpublic static void main(String args)nhttp:/ 多线程服务器实例多线程服务器实例 nServerSocket s=null;nSocket s1;nOutpu

19、tStream s1out;nDataOutputStream dos;n/String line=only one line.;ntrynns=new ServerSocket(5432);n/Register your service on port 5432nncatch(IOException e)/Run the listen/accept loop forevernwhile(true)nntrynhttp:/ 多线程服务器实例多线程服务器实例 ns1=s.accept();/Wait here and listen for a connectionns1out=s1.getOut

20、putStream();n/Get a communication stream for soocketndos=new DataOutputStream(s1out);ndos.writeUTF(new Date().toString();n/Send string!(UTF provides machine-independent format)n/dos.writeUTF(line);ns1out.close();n/Close the connection,but not the server socketns1.close();nncatch(IOException e)nnnhtt

21、p:/ 多线程服务器实例多线程服务器实例 n(2)客户端客户端Socketn/=Program Discription=n/程序名称:程序名称:SimpleClient.javan/程序目的:客户端程序目的:客户端Socket完成了建立一个连接所需的大部分工作。客户连接完成了建立一个连接所需的大部分工作。客户连接到服务器上,显到服务器上,显n/示服务器发送的所有时间数据。通过示服务器发送的所有时间数据。通过Socket获得服务器提供的时间字符串,获得服务器提供的时间字符串,并显示并显示n/=nimport .*;nimport java.io.*;npublic class SimpleCli

22、ent nnpublic static void main(String args)throws IOException nnSocket s1;nInputStream s1In;nDataInputStream dis;nString st;http:/ 多线程服务器实例多线程服务器实例ns1=new Socket(127.0.0.1,5432);n/Open your connection to sunbert,at port 5432ns1In=s1.getInputStream();n/Get an inputStream from the socket and read the i

23、nputndis=new DataInputStream(s1In);nst=new String(dis.readUTF();nSystem.out.println(st);n/When done,just close the connection and exitns1In.close();ns1.close();nnn运行结果如图运行结果如图8-4所示。所示。http:/ 多线程服务器实例多线程服务器实例n图8-4 运行结果(例8.1)http:/ 数据报数据报 n8.5.1 DatagramPacketn8.5.2 DatagramSocketn8.5.3 数据报实例数据报实例n8.5

24、.4 组播套接字组播套接字 MulticastSocket http:/ 数据报数据报 nTCP/IP是一种面向连接的协议,而用UDP 是一种无连接的协议,它只是把数据的目的地记录在数据报中,然后直接放在网络上,不保证传送质量。n在包中有3个类支持基于UDP协议的网络通信:n表示数据报的DatagramSocket类;n用于端到端通信的DatagramPacket类;n用于广播通信的MulticastSocket类。http:/ DatagramPacket n1.将数据打包包中的DatagramPacket类用来创建数据报。数据报有两种,一种用来传递数据报,该数据报有要传递到的目的地址;另一

25、种数据报用来接收传递过来的数据报中的数据。分别用DatagramPacket 的两个构造函数来创建。n(1)DatagramPacket(byte recvBuf,int readLength)n用来建立一个字节数组以接收UDP包。byte 数组在传递给构造函数时是空的,而int 值用来设置要读取的字节数(不能比数组的大小还大)。http:/ DatagramPacket n(2)DatagramPacket(byte sendBuf,int sendLength,InetAddress iaddr,int iport)n用来建立将要传输的UDP包。sendLength不应该比sendBuf字

26、节数组的大小还大。如果数据报长度超出length,则触发IllegalArgument Exception。不过这时RuntimeException不需要用户代码捕获。n2.使用数据报n通过接收数据报对象,获取数据报中的信息的方法有以下几个。n(1)public InetAddress getAddress()n如果是发送数据报,则获得数据报要发送的目标地址,但是如果是接收数据报,则返回发送此数据报的源地址。http:/ DatagramPacketn(2)public bytegetData()n返回一个字节数组,其中是数据报的数据。如果想把字节数组转换成其他类型,就要进行转化。n(3)pu

27、blic int getLength()n获得数据报中数据的字节数。n(4)pubic int getPort()n返回数据报中的目标地址的主机端口号。通过发送数据报对象设置发送数据报中的信息的方法有:setAddress(InetAddress iaddr)、setPort(int iport)、setData(byte buf)、setData(byte buf,int offset,int length)、setLength(intlength)。详细资料可查Java文档。http:/ DatagramSocket n发送和接收数据报还需要发送和接收数据报的Socket,即Datagra

28、mSocket 对象。DatagramSocket 用来读写UDP 包。它在本地机器端口监听是否有数据到达或者将数据报发送出去。DatagramSocket 类有3 个构造函数,允许指定要绑定的端口号和Internet 地址。n(1)public DatagramSocket()n用本地机上任何一个可用的端口创建一个套接字,这个端口号是由系统随机产生的。使用方法如下。ntrynn DatagramSocket datas=new DatagramSocket();n /发送数据报nncatch(SocketException e)nn /异常处理nhttp:/ DatagramSocketn这

29、种构造方法没有指定端口号,可以用在客户端。如果构造不成功则触发SocketException 异常。n(2)public DatagramSocket(int port)n用一个指定的端口号port 创建一个套接字。当不能创建套接字时就抛出SocketException 异常,其原因是指定的端口已被占用或者是试图连接低于1024 的端口,但是又没有权限。n(3)DatagramSocket(int port,InetAddress iaddr)n绑定指定地址的指定端口。http:/ 数据报实例数据报实例 n【例例8.2】基于基于UDP 的服务器的服务器/客户端通信程序。客户端通信程序。n(1)

30、创建创建UDP服务器服务器n/=Program Discription=n/程序名称:程序名称:UDPServer.javan/程序目的:程序目的:UDP服务器在服务器在8000端口监听客户的请求。当它从客户接收到一个端口监听客户的请求。当它从客户接收到一个n/DatagramPacket时,它发送服务器上的当前时间时,它发送服务器上的当前时间n/=nimport java.io.*;nimport .*;nimport java.util.*;npublic class UDPServernn/This method retrieves the current time on the ser

31、vernpublic byte getTime()nhttp:/ 数据报实例数据报实例 nDate d=new Date();nreturn d.toString().getBytes();nn/Main server loop.npublic void go()throws IOException nnDatagramSocket datagramSocket;nDatagramPacket inDataPacket;/Datagram packet from the clientnDatagramPacket outDataPacket;/Datagram packet to the cl

32、ientnInetAddress clientAddress;/Client return addressnint clientPort;/Client return portnbyte msg=new byte10;/Incoming data buffer.Ignored.nbyte time;/Stores retrieved timen/Allocate a socket to man port 8000 for requests.ndatagramSocket=new DatagramSocket(8000);nSystem.out.println(!at UDPServer,dat

33、agramSocket is:+ndatagramSocket.getPort()+local is:+datagramSocket.getLocalPort();nSystem.out.println(UDP server active on port 8000);n/Loop forevernwhile(true)http:/ 数据报实例数据报实例 nn/Set up receiver packet.Data will be ignored.ninDataPacket=new DatagramPacket(msg,msg.length);n/Get the message.ndatagra

34、mSocket.receive(inDataPacket);n/Retrieve return address information,including InetAddressn/and port from the datagram packet just recieved.nclientAddress=inDataPacket.getAddress();nclientPort=inDataPacket.getPort();n/Get the current time.ntime=getTime();n/set up a datagram to be sent to the client u

35、sing then/current time,the client address and portnoutDataPacket=new DatagramPacketn(time,time.length,clientAddress,clientPort);n/finally send the packetndatagramSocket.send(outDataPacket);nnhttp:/ 数据报实例数据报实例npublic static void main(String args)nnUDPServer udpServer=new UDPServer();ntry nnudpServer.

36、go();n catch(IOException e)nSystem.out.println(IOException occured with socket.);nSystem.out.println(e);nSystem.exit(1);nnnn运行结果如图运行结果如图8-5所示。所示。http:/ 数据报实例数据报实例n图8-5 运行结果(例8.2(1)http:/ 数据报实例数据报实例n(2)UDP 客户端客户端n/=Program Discription=n/程序名称:程序名称:UDPClient.javan/程序目的:程序目的:UDP客户向前面创建的客户发送一个空包并接收一个包含服务

37、器实际时间客户向前面创建的客户发送一个空包并接收一个包含服务器实际时间的包的包n/=nimport java.io.*;nimport .*;nclass UDPClient nnpublic void go()throws IOException,UnknownHostException nnDatagramSocket datagramSocket;nDatagramPacket outDataPacket;/Datagram packet to the servernDatagramPacket inDataPacket;/Datagram packet from the servern

38、InetAddress serverAddress;/Server host addressnbyte msg=new byte100;/Buffer space.http:/ 数据报实例数据报实例nString receivedMsg;/Received message in String form.n/Allocate a socket by which messages are sent and received.ndatagramSocket=new DatagramSocket();nSystem.out.println(!at UDPClient,datagramSocket is

39、:+ndatagramSocket.getPort()+local port is:n +datagramSocket.getLocalPort();n/Server is running on this same machine for this example.n/This method can throw an UnknownHostException.nserverAddress=InetAddress.getLocalHost();n/Set up a datagram request to be sent to the server.n/Send to port 8000.nout

40、DataPacket=new DatagramPacket(msg,1,serverAddress,8000);n/Make the request to the server.ndatagramSocket.send(outDataPacket);n/Set up a datagram packet to receive servers response.ninDataPacket=new DatagramPacket(msg,msg.length);n/Receive the time data from the serverndatagramSocket.receive(inDataPa

41、cket);n/Print the data received from the serverhttp:/ 数据报实例数据报实例nreceivedMsg=new Stringn(inDataPacket.getData(),0,inDataPacket.getLength();nSystem.out.println(receivedMsg);n/close the socketndatagramSocket.close();nnpublic static void main(String args)nnUDPClient udpClient=new UDPClient();ntry nudpC

42、lient.go();n catch(Exception e)nnSystem.out.println(Exception occured with socket.);nSystem.out.println(e);nSystem.exit(1);nnnn运行结果如图运行结果如图8-6所示。所示。http:/ 数据报实例数据报实例n图8-6 运行结果(例8.2(2)http:/ 组播套接字组播套接字 MulticastSocket nDatagramSocket只允许数据报发往一个目的地址。类包中提供了类MulticastSocket,允许将数据报以广播的方式发送到某个端口的所有客户。Multi

43、castSocket 类是DatagramSocket类的子类。它在客户端(接收端)使用,监听服务器端广播来的数据;而服务器端仍然使用DatagramSocket来发送数据,只是发送的数据报的目的地址有所变化。其构造方法如下。npublic MulticastSocket()npublic MulticastSocket(int port):在指定的端口通信。http:/ 组播套接字组播套接字 MulticastSocketn这两个方法都将抛出异常IOException,在程序中需要捕获处理。MulticastSocket类的主要方法如下。npublic void joinGroup(Inet

44、Address mcastaddr):加入一个广播组。npublic void leaveGroup(InetAddress mcastaddr):离开一个广播组。npublic void setTimeToLive(int ttl):指定数据报发送时间。npublic void send(DatagramPacket p,byte ttl):在指定的时间内将数据报发送出去。http:/ URL资源资源 n8.6.1 InetAddress 类类n8.6.2 URL和和URLConnection http:/ URL资源资源 n连接到网络中的每台计算机(或其他设备)都有惟一的地址,这就是IP

45、地址。.InetAddress 类是Java的IP地址封装类,它不需要用户了解如何实现对IP 地址操作的细节。n在互联网上,以URL(统一资源定位器)表示Internet上各种数据资源的地址。为了处理方便,Java将URL 封装成URL 类,可以用一个URL 对象记录下完整的URL 信息。http:/ InetAddress 类类 n如果需要在主机名与Internet 地址之间进行转换,那么可以使用InetAddress 类。nInetAddress 类的定义如下:npublic final class InetAddress extends object implements Seriali

46、zablen该类中有两个字段:hostName(String)和address(int),即主机名和IP地址。这两个字段是不公开的,不能直接访问它们。nInetAddress类没有构造方法,要创建该类的实例对象,可以通过该类的静态方法获得该对象。找不到本地机器的地址时,这些方法通常会抛出UnknownHostException 异常,应在程序中捕获处理。http:/ InetAddress 类类 n(1)public static InetAddress getLocalHost()ngetLocalHost 方法用于获得本地机的InetAddress对象,查找不到本地机的地址时,抛出一个Un

47、knownHostException 异常。可以使用下面的格式进行异常捕获。ntry n InetAddress address=InetAddress.getLocalHost();n ;/其他处理代码nncatch(UnknownException e)n ;/异常处理代码nhttp:/ InetAddress 类类 n(2)public static InetAddress getByName(String host)ngetByName(String host)方法用于获得由host 指定的InetAddress 对象。参数host 可以是一个机器名,也可以是一个IP地址或一个DSN

48、域名。n例如:nInetAddress address=InetAddress.getByName();n将返回一个InetAddress 对象,封装了4 个字节的序列。可以使用getAddress()方法访问这些字节,如:nByte addresses=InetAddress.getAddress();n(3)public static InetAddress getAllByName(String host)n有些主机名可以带有许多对应于多个Internet 地址的信息,以利于实现负载平衡。如 对应3 个不同的地址,在主机被访问时随机选择一个地址。GetAllByName 用来获取所有的主

49、机地址对象,并存放在一个地址对象数组中。http:/ InetAddress 类类n(4)public static InetAddress getByAddress(Byte addr)n根据给定的IP 字节地址创建一个InetAddress对象。如果addr是IPv4地址,则返回一个Inet4Address 对象,如果是IPv6 地址,则返回一个Inet6Address 对象。IPv4 地址字节数组必须是4个字节,IPv6 地址字节数组必须是16 个字节。http:/ InetAddress 类类n【例例8.3】查询查询IP地址举例,程序如下。地址举例,程序如下。nimport .*;np

50、ublic class getIPnnpublic static void main(String args)nnInetAddress sun=null;ntrynnsun=InetAddress.getByName();nncatch(UnknownHostException e)nSystem.out.println(sun);nnn运行结果如图运行结果如图8-7所示。所示。http:/ InetAddress 类类n图8-7 运行结果(例8.3)http:/ URL和和URLConnection nURL和URLConnection类封装了大量从远程站点检索信息的复杂细节,支持对HTT

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

当前位置:首页 > 技术资料 > 其他杂项

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com