201711671223《Java程序设计》第十二周学习总结13章Java网络编程

201711671223《Java程序设计》第十二周学习总结13章Java网络编程

URL类(Uniform Resource Locator)是java.net包中的一个重要的类,URL的实例封装着一个统一资源定位符,使用URL创建对象的应用程序称作客户端程序。 一个URL对象通常包含最基本的三部分信息:协议、地址、资源。

URL类通常使用如下的构造方法创建一个URL对象:

public URL(String spec) throws MalformedURLException
public URL(String protocol, String host,String file) throws MalformedURLException

URL对象调用 InputStream openStream()方法可以返回一个输入流,该输入流指向URL对象所包含的资源。通过该输入流可以将服务器上的资源读入到客户端。

InetAdress类

Internet上的主机有两种方式表示地址:

  1. 域名:例如  www.tsinghua.edu.cn 

     2、IP地址:例如 202.108.35.210,java.net包中的InetAddress类对象含有一个Internet主机地址的域名和IP地址,例如 www.sina.com.cn/202.108.37.40 。 可以使用InetAddress类的静态方法getByName(String s);获得一个InetAddress对象,该对象含有主机地址的域名和IP地址,该对象用如下格式表示它包含的信息。可以使用InetAddress类的静态方法getLocalHost()获得一个InetAddress对象,该对象含有本地机的域名和IP地址。

套接字,IP地址标识Internet上的计算机,端口号标识正在计算机上运行的进程(程序)。端口号被规定为一个16位的0~65535之间的整数。 当两个程序需要通信时,它们可以通过使用Socket类建立套接字对象并连接在一起(端口号与IP地址的组合得出一个网络套接字)。客户端的程序使用Socket类建立负责连接到服务器的套接字对象。getInputStream()获得一个输入流 ;getOutputStream()获得一个输出流 ;用getInputStream()得到的输入流接到另一个DataInputStream数据流上;用getOutputStream()得到的输出流接到另一个DataOutputStream数据流上 。

为了防止堵塞线程,服务器端收到一个客户的套接字后,就应该启动一个专门为该客户服务的线程。

基于UDP的通信和基于TCP的通信不同,基于UDP的信息传递更快,但不提供可靠性保证。 基于UDP通信的基本模式是:

将数据打包,称为数据包(好比将信件装入信封一样),然后将数据包发往目的地。接受别人发来的数据包(好比接收信封一样),然后查看数据包中的内容。用DatagramPacket类将数据打包,用DatagramSocket类的不带参数的构造方法:DatagramSocket()创建一个对象,该对象负责发送数据包。用DatagramSocket的另一个构造方法DatagramSocket(int port) 创建一个对象,其中的参数必须和待接收的数据包的端口号相同 ,然后对象mail_in使用方法receive(DatagramPacket pack)接受数据包。

广播数据报是一种较新的技术,要广播或接收广播的主机都必须加入到同一个D类地址。 Java远程调用,RMI(Remote Method Invocation)是一种分布式技术,使用RMI可以让一个虚拟机(JVM)上的应用程序请求调用位于网络上另一处的JVM上的对象方法。习惯上称发出调用请求的虚拟机(JVM)为(本地)客户机,称接受并执行请求的虚拟机(JVM)为(远程)服务器。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

猜你喜欢

转载自blog.csdn.net/Smart_J_King/article/details/84678652