zoukankan      html  css  js  c++  java
  • 网络编程

    1:网络概述
    1.1 网络的发展Net
    1964年,美国人---> 阿帕网--->以太网Internet
    1.2 网络的通信协议
    windows电脑,android手机,Mac平板---》联网 ---->网络协议(一个文档:长度,速率,格式)
    --->根据文档来写了一段代码(通信协议)
    1.3 通信协议的分类
    TCP/IP协议: 是一组协议
    TCP:传输控制协议
    IP :互联网协议

    1.4 TCP/IP的分层


    应用层:主要负责应用程序的协议,用来产生和显示数据
    HTTP:超文本传输协议(http://www.baidu.com)
    FTP :文件传输协议(ftp://192.168.10.82)
    DNS : 域名解析: www.baidu.com ---> 192.168.10.82
    传输层:主要使网络程序进行通信,保证输出的可靠性
    TCP:传输控制协议
    UDP:用户数据报协议
    网络层:网络层是整个TCP/IP协议的核心,找到对方的主机在哪里
    IP : 互联网协议
    ICMP:网际控制报文协议(ping www.baidu.com)
    链路层:链路层是用于定义物理传输通道,网卡和驱动,用于发送和接收数据

    OSI模型:7层模型

    1.5 IP地址和端口
    要想和一台主机建立联系,必须知道对方主机的IP和端口

    IP地址:
    在一个网络中,IP地址作为一台主机的唯一标识

    IP的地址分类:
    IPV4:
    xxx.xxx.xxx.xxx :点分十进制 ---->二进制(110100101010)
    使用4个字节来描述ip: 1.1.1.1 ---> 255.255.255.255 --->21亿
    //网络号 主机号
    A类:10.xxx.xxx.xxx 国家级
    255.0.0.0
    B类:10.10.xxx.xxx 企业级(百度)
    255.255.0.0
    C类:10.10.10.xxx
    255.255.255.0
    192.168.164.255 --->路由器 ---- 》电信网关 ---->顺义区192.168.103 --->xxx-?
    10.10.10.1 : 网关地址
    10.10.10.255 :广播地址

    IPV6:
    16个字节 128个二进制位 2^128 ----》无限大


    端口号:
    数据库:3306
    ftp: 21
    标识一台电脑上唯一的一个进程()
    端口号是一个16位的数字(1-65535)
    < 1024 系统使用的
    1024 - 6000 :系统保留
    >6000 :自己使用
    8888 9999 12306 10086


    ip地址和端口号就可以唯一的表示哪台主机哪个进程

    3:InetAddress 类
    用来描述电脑的ip和其他信息
    //通过某种方式获取InetAddress对象
    public static InetAddress getByName(String host) //根据主机名或者网址获取Ip
    //在一个局域网内部,主机名和IP地址的作用是一样的
    public String getHostName() //获取主机名
    public String getHostAddress() //获取IP地址


    public static InetAddress getLocalHost() //获取本主机的ip和其他信息

    4:UDP协议
    UDP是一种面向无连接的协议
    UDP的通信双方在传输数据之前不需要建立连接,发送端只管发,根本不会关心接收端是否接收
    优点: 传输速度快,效率高,实时性强
    缺点: 数据容易丢失,不安全
    应用场景:直播,视频会议,

    5:TCP协议
    TCP是一种面向连接的协议:
    TCP的双方在通信之前,必须先要建立连接,这个连接被称为三次握手
    优点:可以保证数据传输的可靠性,数据无丢失,数据可以超时重传
    缺点: 传输速度慢,效率低
    应用场景: 对数据的传输质量要求高:金融系统,终端支付,密码管理
    6: UDP编程

    运行: 先运行接收端,再运行发送端

  • 相关阅读:
    Android 目前最稳定和高效的UI适配方案
    很值得收藏的安卓开源控件库
    django-初始配置(纯手写)
    面向对象 继承
    wsgiref手写一个web服务端
    socket手写一个简单的web服务端
    vue指令
    vue入门
    python中and,or
    面向对象三大特性-继承
  • 原文地址:https://www.cnblogs.com/qiqimu/p/7635589.html
Copyright © 2011-2022 走看看