网络编程

1.1 概述

地球村


信件:

image-20210903154818975

计算机网络:

计算机网络系统就是利用通信设备和线路地理位置不同、功能独立的多个计算机及其外部设备互联起来,在网络操作系统,网络管理软件以及网络通信协议的管理和协调下,实现网络中资源共享和信息传递的系统。

网络编程的目的:

无线电台--传播交流信息,数据交换。通信

 

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

  1. 如何准确的定位网络上的一台主机 如192.168.16.124:端口号,定位到这个计算机上的某个资源

  2. 找到了这个主机,如何传输数据?

 

javaweb:网页编程 B/S

网络编程:TCP/IP C/S

 

1.2 网络通信的要素

如何实现网络通信?

通信双方的地址:

  • ip 192.168.1.1

  • 端口号

  • ip+端口就能定位到某台计算机上的某个具体应用 192.168.16.124:5900

规则:网络通信协议

TCP/IP参考模型 :OSI为理想化的模型,并没有真正的应用

image-20210903162002372

网络编程的重点在传输层

image-20210903162211982

 

 

小结:

  1. 网络编程中的两个主要问题

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

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

  2. 网络编程中的要素

    • ip和端口号 ip的类

    • 网络通信写协议 UDP,TCP的类

  3. 万物皆对象

1.3 IP

ip地址:InetAddress

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

  • 127.0.0.1:本机localhost,没有网也能呼叫成功

image-20210903172010464

  • ip地址分类

     

     

    • IPV4/IPV6

      • IPV4--127.0.0.1,4个字节组成,每个字节长度0-255,42亿个:30亿在北美,4亿在亚洲,2011年就用尽了。所以很多网站下面都写的是支持IPV6协议

      • IPV6--128位,(128位是2^128个字节)8个无符号整数!

        2001:0bb2:aaaa:0000:0000:1222:1aaa:1312八个无符号整数
    • 公网(互联网)--私网(局域网)

      • 192.168.xx.xx局域网,专门给组织内部使用

      • ABCD类地址

    • 域名:记忆IP问题


测试ip,返回本机ip,没啥用

image-20210903190559343

测试百度的ip,发现明显比刚才慢了,有一个查询过程

image-20210903190758009

本机

image-20210903191206286

image-20210903191219867

方法

image-20210903191632214

image-20210903191640320

1.4 端口

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

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

  • 被规定0-65535

  • 分为TCP,UDP端口,每个有65535,单个协议下端口号不冲突(tcp:80,udp:80协议不冲突)

  • 端口分类

    • 公有端口0-1023

      • HTTP:80

      • HTTPS:443

      • FTP:21

      • Telnet:23

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

      • Tomcat:8080

      • MySQL:3306

      • Oracle:1521

    • 动态、私有:49152-65535

      netstat -ano    #查看所有端口
      netstat -ano|findstr "8080" #查看指定的端口
      tasklist|findstr "59476" #查看指定端口的进程

      image-20210903193949547

      注意:任务管理器没有PID一栏,在这个区域右键

      image-20210903194033073

image-20210903200355929

端口之间通信问题

image-20210903200600582

找到电脑上特定端口,他有特定的接收处理程序,就能接收,否则无效

来源:b站狂神

posted on 2021-09-03 20:11  托马斯源  阅读(67)  评论(0编辑  收藏  举报