zoukankan      html  css  js  c++  java
  • 3-网络编程知识回顾整理_01

    1、网络编程

      TCP  就好比打电话 -- 连接 -- 接了 -- 通话 

      UDP  就好比发短信 -- 发送了就完事了 -- 接收

    2、计算机网络

      将不同地方的多台计算机及外部设备,通过线路连接,在OS、软件及网络协议下,实现资源共享;

    3、网络编程的目的

      传播交流信息、数据交换、通信

    4、网络编程的主要因素(想要达到这个效果需要什么)

      1)如何准确的定位网络上的一台主机?

        ①通过IP 如:192.168.0.14

        ②通过端口号 如3306  定位到这个计算机上的资源

      2)找到了这个主机后,如何进行传输数据呢?

        javaweb:网页编程,通过浏览器  B/S

        网络编程:TCP/IP  通过客户端  C/S

    5、网络通信的要素

      如何实现网络的通信?

        需要通信双方的地址:IP:端口号 如:192.168.0.14:8080  

          IP是唯一的,但是公网IPV4地址已经用完了,在2011年用完的,现在大部分都使用IPV6

      规则:网络通信的协议(常见的有:http、ftp、smtp、tcp、udp)

    6、TCP/IP参考模型

      

       网络通信主要针对的是:传输层  TCP/UDP

    7、小结:

      1)网络编程中有两个主要问题:

        如何准确的定位到网络上的一台或多台主机

        找到了主机之后如何进行通信

      2)网络编程中的要素

        IP和端口号

        网络通信协议:udp、tcp

      3)万物皆对象

    8、IP

      java API下有一个inetAddress,它表示的就是Internet协议 (IP)地址

      ip指的是唯一定位一台网络上的计算机  127.0.0.1:本机  通常IP可以用localhost代替

      IP地址分类:IPV4和IPV6

        IPV4:127.0.0.1 由4个字节组成 0-255,共有42亿多个地址,其中30亿在北京,亚洲只有4亿个,在2011年的时候用尽

        IPV6:128位,由8个无符号整数数组成,(可以说,地球上每一粒沙子都有一个地址)

      公网(互联网) -- 私网(局域网)  其中192.168.xx.xx 就是专门给组织内部使用的局域网

        ABCD四类地址

        A:8位  B:16位  C:24位  D:多播地址

     9、域名

      如ip:www.baidu.com   www.vip.com,域名很贵。。。

      查询本机地址  InetAddress.getByName("127.0.0.1");

              InetAddress.getLocalHost();

      常用方法:

        getAddress()        获得一组地址,但查询较慢

        getCanonicalHostName()    获取规范的主机名

        getHostAddress()      获取主机地址,IP

        getHostName()       获取主机名称、域名、或自己的电脑名字

    10、端口

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

      1)不同的进程有不同的端口号,主要用来区分软件;

      2)端口被规定在0 - 65535 之间,也就是说可以65535个程序

      3)网络协议又分为TCP、UDP,大门可以使用相同的端口,故可以使用的端口数量为65535 * 2,但是需要注意的是,单个协议下的端口号不能冲突;

      4)端口分类:

        ①公有端口:0 - 1023  建议不要使用

          http:80

          https:443

          ftp:21

          telent:23

        ②程序注册端口:1024 - 49151  分配给用户或者程序

          tomcat:8080

          mysql:3306

          oracle:1521

        ③动态、私有端口:49152 - 65535

          idea:63342

    10、常见的DOS命令

      netstat -ano  查看所有端口

      netstat -ano | findstr "5900" 查看制定的端口  | 是管道流,起过滤的作用

      tasklist | findstr "8689" 查看制定端口的进程

    11、常见的快捷键

      ctrl + shift + esc  打开任务管理器

    12、socket

      socket是套接字、插入的意思

      InetSocketAddress  传入IP 或 端口,获取主机地址/名字;

    13、通信协议

      它是一个约定,好比我们说的普通话,是官方语言,说方言别人就听不懂了

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

        问题比较复杂,故而为了解决这个问题,进行了分层

      TCP/IP协议:它实际上是一组协议

        TCP:用户传输协议  (比如打电话)

        UDP:用户数据报协议  (好比发短信、发邮件)

        这两个都是在传输层面的协议

      以后大多数的应用主要是在应用层:

        比较出名的协议:

          TCP:用户传输协议

          IP:网络连接协议

    14、TCP、UDP对比

      TCP:就好比打电话

        1)连接稳定

        2)三次握手,四次挥手(建立连接需要三次、断开连接需要四次)

        3)通过客户端和服务器来进行连接

        4)传输完成后,释放连接,效率比较低

      UDP:就好比发短信、发邮件

        1)不连接、所以不稳定

        2)客户端与服务端没有明确的界限

        3)不管你有没有准备好,都可以进行发送给你(好比导弹打击,哪会还让你准备好)

        4)DDOS:洪水攻击,在一个时间段内,不间断的向你发送数据(饱和攻击)

    15、三次握手

      当客户端与服务端建立连接的时候,需要三次通信,

      通俗的讲,可以理解为:1)客:你瞅啥?  2)服:瞅你咋地?  3)客:干一架?

      也就是说,最少需要三次通信,才能保证稳定的连接

    16、四次挥手

      当客户端与服务端断开连接的时候,需要四次通信,

      通俗的讲,可以理解为:1)客:我要走了  2)服:你真的要走了吗?  3)服:你真的真的要走了吗?  4)客:我真的要走了

    17、资源关闭

      当断开连接时,需要释放资源,而资源关闭的顺序,遵循:先开后关,后开先关的规则,类似于栈的压栈和弹栈

  • 相关阅读:
    ASIHTTPRequest系列(一):同步和异步请求
    浅谈SQL Server2005的几种分页方法
    在iphone越狱机器中使用Hook
    iphone4 双击Home键 截获
    xcode中打印毫秒时间
    获得一个不错的电子书翻页效果,和大家分享
    【转】iOS平台XML解析类库对比和安装说明
    xml的sax解析方法
    svn 日常使用技巧以及vim profile的配置
    自制固件iOS4.1刷机、解锁教程
  • 原文地址:https://www.cnblogs.com/hand-blog/p/13156680.html
Copyright © 2011-2022 走看看