20175330第十一周学习总结

一、教材学习内容总结

主要内容

  • URL类

    • URL类是java.net包中的一个重要的类,使用URL创建对象的应用程序称作客户端程序。
    • 客户利用URL对象可以获取URL中的资源。
    • 一个URL对象通常包含最基本的三部分信息

协议:必须是URL对象所在的Java虚拟机支持的协议,常用的有:Http、Ftp、File协议,由参数protocol指定。

地址:必须是能连接的有效IP地址或域名,由参数host指定。

资源:可以是主机上的任何一个文件,由参数file指定。

构造方法:

public URL (String spec) throws MalformedURLException所包含的资源位默认的资源(主页)

public URL(String protocol, String host,String file) throws Exceptionprotocol指定协议,host指定地址,file指定资源

  • InetAdress类

Internet上的主机有两种地址的表示:域名和IP地址

  • 获取地址

获取Internet上主机的地址:可以使用InetAddress类的静态方法getByName(String s);

获取本地机的地址:可以使用InetAddress类的静态方法getLocalHost()获得一个InetAddress对象,该对象含有本地机的域名和IP地址

两个实例方法:

  • public String getHostName()获取对象所含的域名;
  • public String getHostAdress()获取对象所含的IP地址。
  • 套接字

网络通信使用IP地址标识Internet上的计算机,使用端口号标识服务器上的进程(程序)。

当两个程序需要通信时,它们可以通过使用Socket类建立套接字对象并连接在一起(端口号与IP地址的组合得出一个网络套接字)。

套接字中与mysocket相关的方法:

  • getInputStream()获得一个输入流
    • 用getInputStream()得到的输入流接到另一个DataInputStream数据流上
  • getOutputStream()获得一个输出流
    • 用getOutputStream()得到的输出流接到另一个DataOutputStream数据流上
  • 客户端套接字
    • 客户端的程序使用Socket类建立负责连接到服务器的套接字对象,Socket类的构造方法:Socket(String host, int port)
    • 使用getInputStream()获得一个输入流,getOutputStream()获得一个输出流
  • ·ServerSocket对象与服务器端套接字 -ServerSocket的构造方法:ServerSocket(int port),port 是一个端口号。 - 使用方法accept()将客户端的套接字和服务器端的套接字连接起来: ``` try{ Socket sc= serverForClient .accept(); } catch(IOException e){} ``` - 所谓“接收”客户的套接字连接就是accept()方法会返回一个和客户端Socket对象相连接的Socket`对象
  • 广播数据报

计算机地址分为四大类:

  • A类地址:a<128,则b.c.d表示主机。
  • B类地址:128<=a<192,则a.b表示网络地址,c.d表示主机地址。
  • C类地址:a>=192,a.b.c表示网络地址,d表示主机地址。
  • D类地址:224.0.0.0~224.255.255.255是保留地址,要广播或接收广播的主机都必须加入到同一个D类地址。
  • Java远程调用(RMI)

  • java远程调用RMI是一种分布式技术,使用RMI可以让一个虚拟机(JVM)上的应用程序请求调用位于网络上另一处的JVM上的对象方法。习惯上称发出调用请求的JVM为(本地)客户机,称接受并执行请求的虚拟机(JVM)为(远程)服务器.
  • 远程调用的基本步骤是:客户程序请求远程对象调用方法,然后远程对象调用方法并返回必要的结果。
  • RMI为标志远程对象,实现了java.rmi包中的Remote接口,注意必须扩展这个接口,同时远程对象的类必须要实现Remote接口。
  • 远程对象创建之前,RMI要求远程服务器必须先启动注册rmiregistry。然后远程服务器使用java.rmi包中的Naming类调用类方法rebind(String name.Remote obj)绑定一个远程对象到rmiregistry所管理的注册表中。
emote接口
  • RMI为了代码调试中的问题和解决过程标识一个对象是远程对象,即可以被客户请求的对象,要求远程对象必须实现java.rmi包中的Remote接口,也就是说只有实现该接口的类的实例才被RMI认为是一个远程对象

代码调试中的问题和解决过程

虚拟机中gmssl按步骤安装时出现问题。

,

参考:https://blog.csdn.net/nange_nice/article/details/82182635解决

代码托管:

 https://blog.csdn.net/nange_nice/article/details/82182635

猜你喜欢

转载自www.cnblogs.com/waaaaa/p/10853422.html