1、什么是网络编程?
网络编程:使用编程语言实现多台计算机的通信。
2、网络编程三大要素。
**(1)IP地址:**网络中每一台计算机的唯一标识,通过IP地址找到指定的计算机。
**(2)端口:**用于标识进程的逻辑地址,通过端口找到指定进程。
**(3)协议:**定义通信规则,符合协议则可以通信,不符合不能通信。
**用生活中的例子说明:**假如我要和小明说话,首先我要到小明的住址找到小明(相当于通过IP找到指定计算机);之后我要和小明说话,小明用耳朵听我说(相当于用端口接收);而我们对话不能使用鸟语,需要作出规定彼此都要使用都能听懂的普通话(这就是协议的作用了)。
3、详解IP地址
**IP地址:**是网络中计算机的唯一标识,通过IP地址可以找到指定计算机。
假如有一个192.168.26.254 的IP地址,它在网络中其实是这样用四个字节表示的:11000000 10101000 00011010 11111110,使用0、1表示,而且中间没有点,因为这种表示形式不容易记(还要计算二进制数),所以使用192.168.26.254的形式,这种形式叫做“点分十进制”。也因为一个字节最大值为255,所以组成点分十进制的四个数字每个都不能超过255。
IP地址分成五类:
A类 1.0.0.1—127.255.255.254(10.X.X.X是私有地址、127.X.X.X是保留地址)
B类 128.0.0.1—191.255.255.254(172.16.0.0—172.31.255.255是私有地址,169.254.X.X是保留地址)
C类 192.0.0.1—223.255.255.254,(192.168.X.X也是私有地址,还记得我们大学的网关就是192.168.26.254)
D类 224.0.0.1—239.255.255.254(保留地址)
E类 240.0.0.1—247.255.255.254(保留地址)
**附:**私有地址,是在互联网上不使用,被用在局域网络中的地址。
**IP地址的组成:**IP地址由网络号段(不可变)和主机地址(可变)组成(表示形式:IP地址 = 网络号码+主机地址)。
**A类IP地址:**第一段号码为网络号码,剩下的三段是本地计算机的号码,所以A类共有256*256*256=16777216,一千多万个IP地址,貌似中国电信有A类地址。
**B类IP地址:**前二段号码为网络号码,剩下的二段是本地计算机的号码,共65536个IP,大型学校可以用B类。
**C类IP地址:**前三段号码为网络号码,剩下的一段号码为本地计算机的号码,共256个IP,一般公司可以使用。
**查看IP:**通常电脑联网有问题了,经常使用ping方法,简单来说,ping 只是一个对联网环境的检测,并不能解决问题,记得当初刚开始学到的时候,还以为ping一下就能够把断掉的网连上(好幼稚。。)。
具体方法:
**查看本机IP:**ipconfig。
**查看本机网络环境:**ping 127.0.0.1(本机回环地址),连不上网的时候可以ping一下本机回环地址,看是否是自己电脑的问题。
查看网络是否有问题: ping+IP地址,如果自己电脑没问题,就可以ping一下其它IP了,学校电脑连不上网的时候经常ping学校网关,其实ping百度(ping www.baidu.com),ping搜狐都是可以的。
4、端口:
**物理端口:**网卡口。
**逻辑端口:**用于标识进程的逻辑地址,不同进程使用的端口是不同的,计算机通过端口找到指定进程,有效端口为06+5535,其中11024是系统使用的端口或保留端口。
我们通常说的都是逻辑端口,用360的流量防火墙可以看到进程的端口号:
上面的端口是安装的程序端口号,可以看到都在1024以上。再看一下系统进程端口:
可以看到系统进程端口一般都在1024以下。端口是可以改变的,建议使用系统分配的默认端口,如果更改端口,可能导致其它进程无法启动。
5、协议
协议是定义的通信规则,一般有TCP协议和UDP协议。
(1)TCP协议是在通信的两台设备之间建立连接通道,对传输的数据大小没有限制,但是因为建立连接,可靠一些,但是速度会慢一些。TCP协议又称为三次握手协议,因为建立过程有三步,发送请求、获取反馈、建立连接。
通常使用的蓝牙、打电话都是TCP协议。
(2)UDP协议需要将数据打包,因为包有大小,所以对数据大小有限制,UDP是不用建立连接的,不保证待接收方一定会接收到消息,所以不可靠,但是因为不建立连接,速度要快一些。
**小结:**编程来源于生活,网络编程三要素应用到日常生活中也非常好理解。