• 网络编程


    网络编程

    1.1 概述

    • 计算机网络:将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统

    • 网络编程的目的:传播交流信息,数据交换,通信

    • 想要达到这个效果需要做什么:

      • 如何准确地定位网络上的一台主机 IP:port;
      • 找到了这个主机,如何传输数据呢?

    1.2 网络通信的要素

    • 如何实现网络的通信?网络通信的要素?
      • 通信双方地址:IP,端口号
      • 规则:网络通信的协议
    • 网络编程的主要问题
      • 如何准确的定位到网络上的一台或多台主机
      • 找到主机后如何进行通信

    1.3 IP

    • IP地址:

      • 唯一定位一台网络上计算机

      • 127.0.0.1 本机localhost

      • IP地址的分类:

        • ipv4/ipv6

          • ipv4(四个字节,已用尽): 192.168.1.xxx

          • ipv6:fe80::ec8f:a251:44xx:5c2a%20

        • 公网-私网

          • 公网:互联网
          • 私网:局域网,192.168.---.---
        • 域名:记忆IP

    1.4 端口

    表示计算机上的一个程序的进程;

    • 不同的进程有不同的端口号!用来区分软件!

    • 被规定为0-65535

    • TCP/UDP:65536*2,单个协议下,端口号不能冲突

    • 端口分类

      • 公用端口 0-1023

        • HTTP:80
        • HTTPS:443
        • FTP:21
        • Telent:23
      • 程序注册端口:1024-49151,分配给用户或者程序

        • Tomcat:8080
        • MySQL:3306
        • Oracle:1521
      • 动态、私有:49152-65535

         netstat -ano #cmd查看所有端口
        

    1.5 通信协议

    网络通信协议:速率、传输码率、代码结构、传输控制。。。

    TCP/IP协议簇:实际是一组协议

    • TCP:
    • IP:网络互连协议

    TCP/UDP

    • TCP:类似打电话

      • 连接、稳定

      • 三次握手 四次挥手

        最少需要三次才能保证稳定连接
        A:你瞅啥
        B:瞅你咋的
        A:干一场
        
        A:我要断开了
        B:我知道了你要断开了
        B:你真的断开了吗
        A:我真的要断开了
        
      • 客户端、服务端

      • 传输完成,释放连接、效率低

    • UDP:类似发短信

      • 不连接、不稳定
      • 客户端、服务端:没有明确的界限
      • 不管有没有准备好,都可以发给你
      • 导弹
      • DDOS:洪水攻击,饱和攻击

    1.6 TCP

    客户端

    1.连接服务器socket

    2.发送消息

    服务器

    1. 建立服务的端口ServerSocket
    2. 等待用户的链接accept
    3. 接收用的消息
  • 相关阅读:
    Mysql-存储过程-批量增加数据
    VIM
    查看Chrome浏览器同步数据状态工具
    Tomcat运行配置
    mysql的engine不同,导致事物回滚失败的问题
    git在MAC,Linux的terminator(命令行)下自动显示当前分支
    SED单行脚本快速参考(Unix 流编辑器)
    awk中使用shell的环境变量
    Grep Sed Awk
    shred_linux_unix
  • 原文地址:https://www.cnblogs.com/liuliang1999/p/12695846.html
Copyright © 2020-2023  润新知