• 【幻化万千戏红尘】qianfengDay23-java基础学习:网络编程、TCP IP协议、端口Socket、ServerSocket


    课程回顾:
    线程安全的解决


    今日内容:
    网络:
    通过外部的网络设备,将分布在不同区域的计算机连接在一起,
    实现不同计算机之间的数据交互
    不同的计算机想进行数据的交互,就必须得遵守相同的通信协议

    TCP/IP协议:传输控制协议/网际协议
    网络模型:
    用书糊口
    4层模型    五层模型     七层模型
    应用层           应用层和表示层和会话层
    传输层
    互联网层
    数据接口层   数据链路层和物理层

    网络结构的程序分类:
    1、B/S:浏览器/服务器
    2、C/S:客户端/服务器

    TCP/IP协议:是目前网络中使用最为广泛的通信协议
    Transmission Control Protocal 传输控制协议
    控制数据的传输
    TCP是在不可靠的互联网中提供可靠的数据传输的协议
    面向连接的,端到端数据传输client-server
    TCP的三次握手(连接):
    客户端先向服务端发送请求连接
    服务端接收到之后,开辟存储单元,并返回消息
    客户端接收到之后,会给服务端发送确认消息
    一共是三次

    Internet Protocol 网际协议 ip地址
    IP地址:网络中计算机的标记,用于区分网络中计算机
    32位组成,一般分为4部分,每部分的范围[0,255]
    我们日常使用的IP都是十进制
    IP的分类:
    1类:政府机关:0---126
    2类:中等规模的公司128-191
    3类:个人192-223
    4类:组播224-249
    5类:实验室250-255
    127.0.0.1或localhost都是指的本机


    端口号:具有网络功能的软件的标记
    计算机端口数:256*256
    端口号的范围[0,65535]
    0-1023:目前已经被公认的或即将被公认的软件
    1024-65535:任何软件都可以使用

    通过IP和端口我们才可以定位计算机的某个软件

    InetAddress类:互联网地址
    IP地址的描述类
    常用方法:
    getLocalHost:获取本机的IP对象
    getHostAddress:获取对象的IP地址字符串
    getHostName:获取对象的主机名称
    getByName:获取指定名称的IP对象
    getAllByName:获取指定名称的所有IP对象


    套接字:程序进行网络连接实现的数据交互,数据交互的一端就是套接字
    简而言之:就是用于2个程序之间进行数据交互的端
    将数据写入到套接字中,套接字会将数据传输到指定的套接字中
    TCP:Client-Server
    TCP协议就是将数据在客户端和服务端进行交互的一种协议
    Socket:应用客户端
    ServerSocket:应用服务端


    TCP开发步骤:
    1、创建套接字(连接)
    2、获取对应的流对象
    3、操作对应的流
    4、关闭

    Socket套接字:实现数据的交互,主要应用在客户端
    常用构造:
    Socket(String host, int port)
    参数说明:
    第一个参数:服务器的IP地址
    第二个参数:服务端程序的端口号

    常用方法:
    getInputStream:获取输入流,用于读取信息
    getOutputStream:获取输出流,用于发送消息
    close:关闭套接字

    ServerSocket:服务端套接字
    常用构造:
    ServerSocket(int port)
    创建对象并监听端口号
    常用方法:
    accept: 监听客户端的连接
    close:关闭

    1对1聊天
    read方法,如果套接字无关闭,无法读取到文件的末尾
    文件传输:
    流读取要发送的文件内容
    将读取到的内容写出到套接字中
    接收端从套接字中读取文件的内容
    再通过流写出到本地

    周四:
    Sqlite数据库+反射
    周五:
    HTML+Servlet

    下周内容:
    Http协议+Servlet
    XML解析
    JSON解析
    正则表达式


     

  • 相关阅读:
    网易严选的wkwebview测试之路
    【工程实践】服务器数据解析
    从加班论客户端开发中的建模
    UVaLive 6802 Turtle Graphics (水题,模拟)
    UVaLive 6694 Toy Boxes (二分+想法)
    UVaLive 6693 Flow Game (计算几何,线段相交)
    UVaLive 6698 Sightseeing Bus Drivers (水题,贪心)
    UVaLive 6697 Homework Evaluation (DP)
    UVALive 6692 Lucky Number (思路 + 枚举)
    CodeForces 710E Generate a String (DP)
  • 原文地址:https://www.cnblogs.com/weigongcheng/p/5759843.html
Copyright © 2020-2023  润新知