20165306 第九周学习任务

第九周学习任务

教材学习内容总结

13.1URL类

  • 使用URL创建对象的应用程序称为客户端程序。
  • 一个URL对象通常包含最基本的三部分信息:协议、地址、资源。
  • URL的构造方法:
    • public URL(String spec)throws MalformedURLExeption 用字符串初始化一个URL对象。
    • public URL(String protocol,String host,String file) throws MalformedURLException该构造方法使用的协议、地址和资源分别由参赛protocol,host和file指定。
  • URL对象调用InputStream openStream()方法可以返回一个输入流,该输入流指向URL对象所包含的资源。通过该输入流可以将服务器上的资源信息读入到客户端。

例子

13.2InetAddress类

  • 地址的表示:域名、IP地址。
  • 获取Internet上主机的地址:可以使用InetAddress类的静态方法getByName(String s)将一个域名或IP地址传递给该方法的参数s,获得一个InetAddress对象,该对象含有主机地址的域名和IP地址。
  • 获取本地机的地址:可以使用InetAddress类的静态方法getLocalHost()获得一个InetAddress对象,该对象含有本地机器的域名或IP地址。

例子

13.3套接字

  • 客户端套接字:Socket的构造方法是Socket(String host,int port),参数host是服务器的IP地址,port是一个端口号。
  • ServerSocket对象与服务器端套接字:ServerSocket的构造方法是ServerSocket(int port),port是一个端口号。port必须和客户呼叫的端口号相同。
  • 当服务器的ServerSocket对象serverForClient建立后,就可以使用方法accept()客户端的套接字和服务器端的套接字连接起来。
  • 双方通信完毕后,套接字应使用close()方法关闭套接字连接。
  • 在套接字通信中,有两个基本原则:
    • 服务器应当启用一个专门的线程,在该线程中和客户的套接字建立连接。
    • 由于套接字的输入流在读取信息时可能发生阻塞,客户端和服务器端都需要在一个单独的线程中读取信息。

例子

13.4UDP数据报

  • 基于UDP通信的基本模式是:
    • 将数据打包,称为数据包,然后将数据包发往目的地。
    • 接收发来的数据包,然后查看数据包中的内容。

13.5广播数据报

  • 要广播或接收广播的主机都必须加入到同一个D类地址。一个D类地址也称作一个组广播地址,D类地址并不代表某个特定主机的位置,一个具有A、B或C类地址的主机要广播数据或接收广播,都必须加入到同一个D类地址。

例子BroadCast.java

例子Receiver.java

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

  • 问题:教材402页例子3运行时会出现 服务器已断开java.net.ConnectException:拒绝连接(Connection refused) 错误提示。

例子13_3Client.java

例子13_3Server.java

  • 解决:教材401页最下面一段中提到:“首先将例子3中服务器端的Server.java编译通过,并运行起来,等待客户的呼叫,然后运行客户端程序”。于是我按照教材的意思,Ctrl+Alt+t打开了两个标签页,先编译运行Server.java,出现“等待客户呼叫”字样,然后在另一个标签页编译运行Client.java,结果运行成功。

代码托管

上周考试错题总结

  • 见教材361-362页,线程的基本状态有:新建、运行、中断(其中一个原因即为阻塞)、死亡

  • 这道题的B选项我依然认为是错误的。见教材360页,“如果main方法中没有创建其他的线程,那么当main方法执行完最后一个语句,即main方法返回时,JVM就会结束我们的Java应用程序。如果main方法中又创建了其他线程,那么JVM就要在主线程和其他线程之间轮流切换,保证每个线程都有机会使用CPU资源,main方法即使执行完最后的语句(主线程结束),JVM也不会结束Java应用程序,JVM要一直等到Java应用程序中的所有线程都结束之后,才结束Java应用程序。”

学习进度条

代码行数(新增/累积) 博客量(新增/累积)
目标 10000行 30篇
第九周 846/7250 1/17

猜你喜欢

转载自www.cnblogs.com/5306xyh/p/8971962.html