网络编程
1.1 概述
地球村
信件:
计算机网络:
计算机网络系统就是利用通信设备和线路将地理位置不同、功能独立的多个计算机及其外部设备互联起来,在网络操作系统,网络管理软件以及网络通信协议的管理和协调下,实现网络中资源共享和信息传递的系统。
网络编程的目的:
无线电台--传播交流信息,数据交换。通信
想要达到这个效果需要什么:
-
如何准确的定位网络上的一台主机 如192.168.16.124:端口号,定位到这个计算机上的某个资源
-
找到了这个主机,如何传输数据?
javaweb:网页编程 B/S
网络编程:TCP/IP C/S
1.2 网络通信的要素
如何实现网络通信?
通信双方的地址:
-
ip 192.168.1.1
-
端口号
-
ip+端口就能定位到某台计算机上的某个具体应用 192.168.16.124:5900
规则:网络通信协议
TCP/IP参考模型 :OSI为理想化的模型,并没有真正的应用
网络编程的重点在传输层
小结:
-
网络编程中的两个主要问题
-
如何准确定位到网络上的一台或多台主机
-
找到主机之后如何进行通信
-
-
网络编程中的要素
-
ip和端口号 ip的类
-
网络通信写协议 UDP,TCP的类
-
-
万物皆对象
1.3 IP
ip地址:InetAddress
-
唯一定位一台网络上的计算机
-
127.0.0.1:本机localhost,没有网也能呼叫成功
-
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:www.jd.com
-
-
测试ip,返回本机ip,没啥用
测试百度的ip,发现明显比刚才慢了,有一个查询过程
本机
方法
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" #查看指定端口的进程注意:任务管理器没有PID一栏,在这个区域右键
-
端口之间通信问题
找到电脑上特定端口,他有特定的接收处理程序,就能接收,否则无效
来源:b站狂神