地球村
信件:
计算机网络:
计算机网络系统就是利用通信设备和线路将地理位置不同、功能独立的多个计算机及其外部设备互联起来,在网络操作系统,网络管理软件以及网络通信协议的管理和协调下,实现网络中资源共享和信息传递的系统。
网络编程的目的:
无线电台--传播交流信息,数据交换。通信
想要达到这个效果需要什么:
如何准确的定位网络上的一台主机 如192.168.16.124:端口号,定位到这个计算机上的某个资源
找到了这个主机,如何传输数据?
javaweb:网页编程 B/S
网络编程:TCP/IP C/S
如何实现网络通信?
通信双方的地址:
ip 192.168.1.1
端口号
ip+端口就能定位到某台计算机上的某个具体应用 192.168.16.124:5900
规则:网络通信协议
TCP/IP参考模型 :OSI为理想化的模型,并没有真正的应用
网络编程的重点在传输层
小结:
网络编程中的两个主要问题
如何准确定位到网络上的一台或多台主机
找到主机之后如何进行通信
网络编程中的要素
ip和端口号 ip的类
网络通信写协议 UDP,TCP的类
万物皆对象
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,发现明显比刚才慢了,有一个查询过程
本机
方法
端口表示计算机上的一个程序的进程:
不同进程有不同的端口号!用来区分软件!
被规定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站狂神