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

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

教材学习内容总结

第十三章

1.URL类

  • 构造方法
try { URL url = new URL("http://www.google.com");
}
catch(MalformedURLException e) {
    System.out.println ("Bad URL:"+url);
}
  • 读取URL中的资源

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

2.InetAddress类

  • 地址的表示:
    域名:例如www.baidu.com
    IP地址:例如192.168.6.4

  • 获取Internet上主机的地址:可以使用InetAddress类的静态方法getByName(String s)将一个域名或IP地址传递给该方法的参数s,获得一个InetAddress对象,该对象含有主机地址的域名和IP地址,例如:www.sina.com.cn/202.108.37.40

    此外public String getHostName()可以用来获取InetAddress对象所包含的域名
    public String getHostAddress()可以用来获取InetAddress对象所包含的IP地址

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

3.套接字

  • 客户端套接字
  • ServerSocket对象与服务器端套接字
  • 使用多线程技术
    图解:

4.UDP数据报

  • 发送数据包
    DatagramPacket类将数据打包,即用DatagramPacket类创建一个对象,称为数据包
    构造方法:

DatagramPacket(byte data[],int length,InetAddtress address,int port)

DatagramPack(byte data[],int offset,int length,InetAddtress address,int port)

  • 接收数据包
      首先用DatagramSocket的另一个构造方法DatagramSocket(int port)创建一个对象,其中的参数必须和待接收的数据包的端口号相同
      然后该对象使用方法receive(DatagramPacket pack)接受数据包
    DatagramPack类的另外一个构造方法DatagramPack(byte data[],int length)创建一个数据包,用于接收数据包

代码托管


上周考试错题总结

  • 下列说法正确的是
    A . 客户端使用Socket类建立负责连接到服务器的套接字对象。
    B . Socket(InetAddress address, int port, InetAddress localAddr, int localPort)创建一个套接字并将其连接到指定远程地址上的指定远程端口。
    C . getInetAddress()的返回值是String类型的套接字连接地址。
    D . public int getPort()返回此套接字绑定到的本地端口。

    答案:AB
    解析: C:返回值为InetAddress类型
    D:返回此套接字连接到的远程端口

  • 下列关于TCP和UDP的说法,正确的是
    A . TCP面向连接;UDP是无连接的,即发送数据之前不需要建立连接。
    B . 通过TCP连接传送的数据,无差错,不丢失,不重复,且按序到达;UDP尽最大努力交付,即不保证可靠交付。
    C . UDP和TCP都属于网络层协议。
    D . UDP没有拥塞控制,因此网络出现拥塞不会使源主机的发送速率降低。

    答案:ABD
    解析:C:UDP和TCP都属于传输层协议

  • 以下能够支持TCP/IP连接的类是
    A . InetAddress
    B . Packet
    C . Socket
    D . ServerSocket

    答案:CD

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 6000行 30篇 400小时
第一周 23/23 1/5 18/18
第二周 367/390 2/7 16/34
第三周 672/1062 1/8 23/57
第四周 724/1786 2/10 20/77
第五周 1084/2870 1/11 15/92
第六周 1187/4057 1/12 18/110
第七周 756/4813 1/13 20/130
第八周 1240/6053 1/14 18/148
第八周 933/6986 2/16 10/158

参考资料

原文地址:https://www.cnblogs.com/cbmwtsl/p/8972287.html