zoukankan      html  css  js  c++  java
  • 20155214 2016-2017-2 《Java程序设计》第10周学习总结

    学号 2016-2017-2 《Java程序设计》第10周学习总结

    教材学习内容总结

    • 掌握Java Socket编程
    • 理解混合密码系统
    • 掌握Java 密码技术相关API的使用

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

    • 关于Socket

    网络上的两个程序通过一个双向的通讯连接实现数据的交换,这个双向链路的一端称为一个Socket。
    Socket通常用来实现客户方和服务方的连接。Socket是TCP/IP协议的一个十分流行的编程界面,一个Socket由一个IP地址和一个端口号唯一确定。

    • Java Socket

    以J2SDK-1.3为例,Socket和ServerSocket类库位于java.net包中。
    ServerSocket用于服务器端,Socket是建立网络连接时使用的。在连接成功时,应用程序两端都会产生一个Socket实例,操作这个实例,完成所需的会话。
    对于一个网络连接来说,套接字是平等的,并没有差别,不因为在服务器端或在客户端而产生不同级别。
    不管是Socket还是ServerSocket它们的工作都是通过SocketImpl类及其子类完成的。

    • 混合密码系统

    重要的Socket API

    • java.net.Socket继承于java.lang.Object,有八个构造器,其方法并不多,下面介绍使用最频繁的三个方法,其它方法大家可以见JDK-1.3文档。
    • Accept方法用于产生阻塞,直到接受到一个连接,并且返回一个客户端的Socket对象实例。阻塞是一个术语,它使程序运行暂时停留在这个地方,直到一个会话产生,然后程序继续;通常阻塞是由循环产生的。
    • getInputStream方法获得网络连接输入,同时返回一个InputStream对象实例。
    • getOutputStream方法连接的另一端将得到输入,同时返回一个OutputStream对象实例。

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

       Socket(InetAddress address, int port);
      Socket(InetAddress address, int port, boolean stream);
      Socket(String host, int prot);
      Socket(String host, int prot, boolean stream);
      Socket(SocketImpl impl)
      Socket(String host, int port, InetAddress localAddr, int localPort)
      Socket(InetAddress address, int port, InetAddress localAddr, int localPort)
      ServerSocket(int port);
      ServerSocket(int port, int backlog);
      ServerSocket(int port, int backlog, InetAddress bindAddr)
    

    其中address、host和port分别是双向连接中另一方的IP地址、主机名和端口号,stream指明socket是流socket还是数据报socket,localPort表示本地主机的端口号,localAddr和 bindAddr是本地机器的地址(ServerSocket的主机地址),impl是socket的父类,既可以用来创建serverSocket又可 以用来创建Socket。count则表示服务端所能支持的最大连接数。
    例如:

    Socket client = new Socket("127.0.01.", 80);
    ServerSocket server = new ServerSocket(80);
    

    代码托管

    http://git.oschina.net/bestiisjava2017/besti155214_JavaProgammer/

    上周考试错题总结

    结对及互评

    • 20155237

    点评过的同学博客和代码

    其他(感悟、思考等,可选)

    学习进度条

    代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
    目标 5000行 30篇 400小时
    第一周 38/100 1/2 15/15
    第二周 294/332 3/4 30/45
    第三周 763/1073 2/6 32/77
    第四周 1202/2277 1/7 29/106
    第五周 930/3206 2/9 32/138
    第六周 642/3848 1/10 25/161
    第七周 249/4097 2/12 22/181
    第八周 457/4352 1/13 27/181
    第九周 338/4689 2/15 23/204
    第十周 482/5171 1/16 20/223


    N「次数」 Y「计划学习时间 X「实际学习时间」 X-/+X/N
    第一周 0 18 15
    第二周 1 33 30 0
    第三周 2 35 32 16-48
    第四周 3 35 29 25.4-44.6
    第五周 4 32 27 25.25-38.75
    第六周 5 28 25 23-33
    第七周 6 24 22 16.7-23.3
    第八周 7 30 27 26.2-33.8
    第九周 8 24 23 20.7-27.3
    第十周 9 24 20 21.8-26.2

    参考资料

  • 相关阅读:
    hdu
    如何在maven中的项目使用tomcat插件
    Intellij IDEA 像eclipse那样给maven添加依赖,且Intellij idea里在pom.xml里添加Maven依赖,本地仓库下拉列表显示包很少的血的经验
    DataTables warning: table id=costitemProject
    Navicat Premium Mac 12 破解
    mac显示隐藏的文件
    tomcat7下载地址
    mac同时安装jdk7和jdk8
    屏蔽datatable错误提示
    mac上配置java jdk环境
  • 原文地址:https://www.cnblogs.com/besti155214/p/6776956.html
Copyright © 2011-2022 走看看