zoukankan      html  css  js  c++  java
  • 20145216史婧瑶《Java程序设计》第10周学习总结

    20145216 《Java程序设计》第10周学习总结

    教材学习内容总结

    网络编程

    一、网络概述

    • 网络编程就是两个或多个设备(程序)之间的数据交换。

    • 识别网络上的每个设备:①IP地址②域名(Domain Name)。一个IP地址可以对应多个域名,一个域名只能对应一个IP地址。

    • DNS服务器(域名解析):在实际传输数据以前需要将域名转换为IP地址。

    • 端口:让一个计算机可以同时运行多个网络程序。端口的号码必须位于0-65535之间,每个端口唯一的对应一个网络程序,一个网络程序可以使用多个端口。

    • C/S结构:网络编程的结构被称作客户端/服务器结构,也叫做Client/Server结构。

    • B/S结构:使用浏览器作为客户端的结构被称作浏览器/服务器结构,也叫做Browser/Server结构。B/S结构其实也就是一种特殊的C/S结构。

    • P2P程序:P2P程序中既包含客户端程序,也包含服务器端程序,是一种特殊的程序。

    • 协议(Protocol):在实际进行数据交换时,为了让接收端理解该数据,计算机比较笨,什么都不懂的,那么就需要规定该数据的格式,这个数据的格式就是协议。那么如何来编写协议格式呢?答案是随意。只要按照这种协议格式能够生成唯一的编码,按照该编码可以唯一的解析出发送数据的内容即可。也正因为各个网络程序之间协议格式的不同,所以才导致了客户端程序都是专用的结构。

    • 在现有的网络中,网络通讯的方式主要有两种: ①TCP(传输控制协议)方式 ②UDP(用户数据报协议)方式

    二、网络编程技术

    • 客户端的编程主要由三个步骤实现:

      1、建立网络连接:在建立网络连接时需要指定连接到的服务器的IP地址和端口号。(出现重复)
      
      2、交换数据:交换数据严格按照请求响应模型进行。
      
      3、关闭网络连接。
      
    • 服务器端的编程是由四个步骤实现,依次是:

      1、监听端口:这个端口就是服务器端开放给客户端的端口,服务器端程序运行的本地计算机的IP地址就是服务器
      端程序的IP地址。
      
      2、 获得连接:服务器端和客户端也通过该连接进行数据交换。一般获得连接时,需要开启专门的线程处理该连
      接,每个连接都由独立的线程实现。
      
      3、 交换数据。
      
      4、 关闭连接。
      
    • InetAddress类:该类的功能是代表一个IP地址,并且将IP地址和域名相关的操作方法包含在该类的内部。

    • TCP方式的网络编程实现时,以java.net.Socket类代表客户端连接,以java.net.ServerSocket类代表服务器端连接。由于高度的封装,程序员实际编程时,只需要指定IP地址和端口号码就可以建立连接了。一方面简化了Java语言网络编程的难度,另外也使得Java语言进行网络底层系统编程很困难,具体点说,Java语言无法实现底层的网络嗅探以及获得IP包结构等信息。

    • 实现服务器端监听的代码为:

      ServerSocket ss = new ServerSocket(10000);
      
    • 实现UDP方式的编程,包含客户端网络编程和服务器端网络编程,主要由两个类实现,分别是:

      1、DatagramSocket:实现“网络连接”,包括客户端网络连接和服务器端网络连接。DatagramSocket实现的
      就是发送数据时的发射器,以及接收数据时的监听器的角色。类比于TCP中的网络连接,该类既可以用于实现客户
      端连接,也可以用于实现服务器端连接。
      
      2、DatagramPacket:实现对于网络中传输的数据封装,该类的对象代表网络中交换的数据。在UDP方式的网络
      编程中,无论是需要发送的数据还是需要接收的数据,都必须被处理成DatagramPacket类型的对象,该对象中
      包含发送到的地址、发送到的端口号以及发送的内容等。和TCP方式的网络传输相比,IO编程在UDP方式的网络编
      程中变得不是必须的内容,结构也要比TCP方式的网络编程简单一些。
      

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

    问题:

    什么是网络协议?

    解决过程:

    通过学习老师博客中给出的资料链接,总结出以下解释:

    • 网络协议是指对于网络中传输的数据格式的规定。

    • 在网络编程中,对于同一个网络程序来说,一般都会涉及到两个网络协议格式:客户端发送数据格式和服务器端反馈数据格式,在实际设计时,需要一一对应。

    • 由于各种网络程序使用不同的协议格式,所以不同网络程序的客户端之间无法通用。而对于常见协议的格式,例如HTTP(Hyper Text Transfer Protocol,超文本传输协议)、FTP(File Transfer Protocol,文件传输协议)、SMTP(Simple Mail Transfer Protocol,简单邮件传输协议)等等,都有通用的规定。

    • 最后,对于一种网络程序来说,网络协议格式是该程序最核心的技术秘密,因为一旦协议格式泄漏,则任何一个人都可以根据该格式进行客户心端的编写,这样将影响服务器端的实现,也容易出现一些其它的影响。

    代码托管截图

    学习进度条

     代码行数(新增/累积)博客量(新增/累积)学习时间(新增/累积)重要成长
    目标 4500行 30篇 350小时 能将java运用自如 
    第一周 150/150 2/2 15/15 学习了与java相关的基础知识 
    第二周 200/350 1/3 20/35

    学习了java的基本语法 

     第三周  450/800  1/4 25/60 

    学习了对象和封装的相关知识 

     第四周 687/ 1487  1/5 30/90 

    学习了继承与接口的相关知识 

     第五周 803/2290    1/6    30/120 

    学习了异常处理以及Collection与Map的相关知识 

     第六周  910/3200 2/8  40/160 

    学习了输入、输出和线程的相关知识

     第七周  350/3550 2/10  30/190 

    学习了时间与日期的相关知识 

     第八周 350/3900  2/12   30/220

    学习了通用API的相关知识 

     第九周 400/4300  2/14  30/250

    学习了整合数据库的相关知识

     第十周 300/4600  2/16   30/280

    学习了网络编程的相关知识

    参考资料

  • 相关阅读:
    LA3971组装电脑
    LA3971组装电脑
    LA3905流星
    LA3905流星
    LA3902网络
    LA3902网络
    LA3708墓地雕塑
    洛谷 P2330 [SCOI2005]繁忙的都市(最小生成树)
    最小生成树 & 洛谷P3366【模板】最小生成树 & 洛谷P2820 局域网
    洛谷 P1372 又是毕业季I
  • 原文地址:https://www.cnblogs.com/sjy519/p/5470280.html
Copyright © 2011-2022 走看看