zoukankan      html  css  js  c++  java
  • 20145104张家明 《Java程序设计》第10周学习总结

    20145104张家明 《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方式的网络编程简单一些。

    代码托管

    学习进度条

    代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
    目标 5000行 30篇 400小时
    第六周 894/1926 2/7 30/175 这周进行了第一次的实验
    第七周 254/2180 2/9 21/196 第二次java实验
    第八周 260/2440 2/11 20/216 第三次java实验
    第九周 380/2820 2/13 25/241 第四次java实验
    第十周 80/2900 2/15 23/264 第五次java实验

    参考资料

  • 相关阅读:
    ASP.NET Core 中文文档 第四章 MVC(3.2)Razor 语法参考
    ASP.NET Core 中文文档 第四章 MVC(3.1)视图概述
    ASP.NET Core 中文文档 第四章 MVC(2.3)格式化响应数据
    ASP.NET Core 中文文档 第四章 MVC(2.2)模型验证
    ASP.NET Core 中文文档 第四章 MVC(2.1)模型绑定
    ASP.NET Core 中文文档 第四章 MVC(01)ASP.NET Core MVC 概览
    mysql 解除正在死锁的状态
    基于原生JS的jsonp方法的实现
    HTML 如何显示英文单、双引号
    win2008 r2 服务器php+mysql+sqlserver2008运行环境配置(从安装、优化、安全等)
  • 原文地址:https://www.cnblogs.com/wodedadao/p/5472156.html
Copyright © 2011-2022 走看看