• 20165223《Java程序设计》第九周Java学习总结


    教材学习内容总结

    第13章-

    • URL类
    • InetAddress类
    • 套接字
    • UDP数据报
    • 广播数据报
    • Java远程调用(RMI)

    教材学习中的问题和解决过程

    1. URL类

    • URL类构造方法:
      • 使用字符串初始化一个URL对象:public URL(String spec) throws MaldormedURLException
      • 使用参数protocol,host和file指定协议、地址和资源:public URL (String protocol,String host,String file)throws MaldormedURLException
    • 读取URL中的资源: 调用InputStream openStresm()方法返回一个输入流

    2. InetAddress类

    • 地址的表示:域名、Ip地址
      • java.net包中的InetAddress类对象含有一个主机地址的域名或IP地址
    • 获取地址
      • InetAddress上主机的地址:getByName(String s)获取一个域名或IP地址;getHostName()获取InetAddress对象所含的域名;getHostAddress()获取InetAddress对象所含Ip地址
      • 本地机的地址:getLocalHost()获取一个InetAddress对象,该对象含本地机的域名和IP地址。

    3. 套接字

    • 概述

      • 端口规定为一个16位的0~65535
      • 01023被预先占用,除非需要访问特殊服务,否则应使用102465535中的一个端口,防止发生端口冲突
    • 客户端套接字

      • 构造方法:Socket (String host,iint port),参数host是服务器的IP地址,port是一个端口号。建立套接字对象的方法可能出现IOException异常,所以要采用try-catch的方法
      try{
          Socket clientSocket = new Socket("http://192.168.0.78",2010);
      }
      catch(IOException e){}
      
    • ServerSocket对象与服务器端套接字

      • 构造方法:(int port),port是一个端口。port必须和客户呼叫的端口号相同。也要使用try-catch方法。建立连接后,服务器套接字对象调用getInetAddress()方法可以获取一个InetAddress对象,该对象含有客户端的IP地址和域名。双方通信完毕后,套接字应使用close()方法关闭套接字连接
    • 使用多线程技术

      • 用Socket类的不带参数的构造方法Socket()创建一个套接字对象,该对象调用public void connect(Socket Address endpoint) throws IOException请求和参数SocketAddress指定的服务器对接
    • 套接字通信基本原则:

      • 服务器应当启动一个专门的线程,在该线程中和客户的套接字进行对接
      • 由于套接字的输入流在读取消息时可能发生阻塞,客户端和服务器端都需要在一个单独线程读取信息

    4. UDP数据报

    - 基于UDO通信的基本模式:
        - 打包数据,将数据包发往目的地
        - 接收数据包,查看内容
    - 发送数据包
        - 打包:用DatagramPacket类创建对象,称数据包
    - 接收数据包
        - 接收:用DatagramSocket(int port)构造方法创建对象,参数必须与待接收的数据包的端号口一致,然后对象mail_in用方法receive(DatagramPacket pack)接收数据包
    

    5. java远程调用

    代码托管

    详见码云:码云作业

    学习进度条

    代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
    目标 3000行 30篇 400小时
    第九周 1324/200 2/11 20/20 深入

    参考资料

    1. 教学视频
    2. Intellj IDEA 简易教程
  • 相关阅读:
    在WebBrowser控件中获取鼠标在网页(不是浏览器窗口)上点击的位置,
    Sqlserver 2008 评估版本到期,Sqlserver 2008试用期已过,解决方案.
    C#防止WebBrowser在新窗口中打开链接页面
    c#控制IE浏览器自动点击等事件WebBrowser,mshtml.IHTMLDocument2
    屏蔽右键代码(防止网页恶意复制)
    SEO优化中的div+css命名规则
    photoshop CS不能打字,出现死机等现象的解决办法!!
    带关闭功能的漂浮图片代码
    VS2008连接SQL2005问题,老连接不上。
    WinForm中获取鼠标当前位置
  • 原文地址:https://www.cnblogs.com/moddy13162201/p/8971509.html
Copyright © 2020-2023  润新知