20165205 2017-2018-2 《Java程序设计》第九周学习总结

Posted mushroomissmart

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了20165205 2017-2018-2 《Java程序设计》第九周学习总结相关的知识,希望对你有一定的参考价值。

20165205 2017-2018-2 《Java程序设计》第九周学习总结

教材学习内容总结

  • 掌握URL类的使用方法
    • URL类的构造方法:
      • public URL(String spec) throws MaldormedURLException此构造方法使用字符串初始化一个URL对象
      • public URL (String protocol,String host,String file)throws MaldormedURLException此构造方法使用的协议,地址和资源分别由参数protocol,host和file指定
    • 上述url对象中的协议是http协议。
    • 读取URL中的资源:调用InputStream openStresm()方法返回一个输入流。
  • 掌握InetAddress类
    • 表示地址的方法:域名和Ip地址
    • 地址的表示方法:java.net包中的InetAddress类对象含有一个主机地址的域名或IP地址。
    • 获取地址
      • 获取InetAddress上主机的地址:getByName(String s)获取一个域名或IP地址;getHostName()获取InetAddress对象所含的域名;getHostAddress()获取InetAddress对象所含Ip地址。
      • 获取本地机的地址:getLocalHost()获取一个InetAddress对象,该对象含本地机的域名和IP地址。
  • 掌握套接字的使用
    • 概述
      • 端口规定为0~65535
      • 0~1023被预先占用
    • 客户端套接字
      • Socket (String host,iint port),参数host是服务器的IP地址,port是一个端口号。
      • 建立套接字对象的方法可能出现IOException异常,所以要采用try-catch的方法
    • ServerSocket对象与服务器端套接字
      • 构造方法:(int port),port是一个端口。port必须和客户呼叫的端口号相同。也要使用try-catch方法。
      • 建立连接后,服务器套接字对象调用getInetAddress()方法可以获取一个InetAddress对象,该对象含有客户端的IP地址和域名。
      • 双方通信完毕后,套接字应使用close()方法关闭套接字连接。
    • 采用多线程技术
      • 可以用Socket类的不带参数的构造方法Socket()创建一个套接字对象,该兑现调用public void connect(Socket Address endpoint) throws IOException请求和参数SocketAddress指定的服务器对接。
      • 在套接字通信中,有两个基本原则:(1)服务器应当启动一个专门的线程,在该线程中和客户的套接字进行对接。(2) 由于套接字的输入流在读取消息时可能发生阻塞,客户端和服务器端都需要在一个单独线程读取信息。
  • 掌握UDP数据报
    • 基于UDP通信的基本模式
      • 将数据打包,成为数据包,然后将数据包发往目的地
      • 接收发来的数据包,然后查看数据包中的内容
    • 发送数据包
    • 接收数据包
  • 学习java远程调用

    教材学习代码调试中的问题和解决过程:

  • 问题一:发送字节未成功(无截图)
  • 问题一解决方法:上网搜索原因可能是String()还原字符串的时候乱码了,也就是说缓冲区留有数据,方法是用pw.println(msg)将其写出,之后就可以成功运行了。

    代码托管

    技术分享图片

错题总结

上周未错题

总结

本周重点学习了URL类,Socket类等,学会了建立接口,让本地与网络的连接更好,也更加体会到了java语言(或者说是API)的强大功能。更加深入的学习让我对java有了更深的体会。

以上是关于20165205 2017-2018-2 《Java程序设计》第九周学习总结的主要内容,如果未能解决你的问题,请参考以下文章

20165205 2017-2018-2《Java程序设计》结对编程一 第一周总结

2017-2018-2 20165205 实验五《网络编程与安全》实验报告

2018-2019-2 网络对抗技术 20165205 Exp8 Web基础

2018-2019-2 20165205 Exp2 后门原理与实践

20165218 2017-2018-2 《Java程序设计》第一周学习总结

2018-2019-1 20165205 《信息安全系统设计基础》第三周学习总结