网络编程:网络编程主要用于解决计算机与计算机(手机、平板。。。)之间的数据传输问题。
web方向:
Android:常用
网络编程:不需要基于html页面就可以达到数据之间的传输。比如:feiQ, QQ, 微信。。。。
网页编程:基于html页面的基础上进行数据的交互的。比如:天猫,京东。。。。
计算机网络:分布在不同地域的计算机通过外部设备链接起来达到了消息互通,资源共享的效果就称作为一个计算机网络。
网络通讯的三要素:
1.IP
2.端口号
3.协议
====================IP====================
IP地址:
Internet上的每台主机(Host)都有一个唯一的IP地址。
IP地址的长度为32位,分为4段,每段8位,用十进制数字表示,每段数字范围为0~255,段与段之间用句点隔开。
例如159.226.1.1。(四个字节)
IP地址类别:
IP地址是由网络号和主机号组成
A类地址:8位网络位,24位主机位 2^24 政府单位用
B类地址: 16位网络位,16位主机位 2^16 事业单位(学校、银行)用
C类地址: 24位网络位,8位主机位 2^8 私人使用
特殊的IP地址
127.0.0.1 表示 本机回环地址
InetAddress(IP类)
常用的方法:
getLocalHost() 返回本地主机。
getHostAddress() 返回 IP 地址字符串(以文本表现形式)。
getHostName() 获取此 IP 地址的主机名。
getByName(String host) 在给定主机名的情况下确定主机的 IP 地址。
getAllByName(String host) 在给定主机名的情况下,根据系统上配置的名称服务返回其 IP 地址所组成的数组。
====================Port====================
Port地址
如果把IP地址比作一间房子 ,端口就是出入这间房子的门。真正的房子只有几个门,但是一个IP地址的端口 可以有65536(即:2^16)个之多!
端口是通过端口号来标记的,端口号只有整数,范围是从0 到65535(2^16-1)。
Port分类(0~65535)
公认端口(WellKnownPorts):从0到1023,它们紧密绑定(binding)于一些服务。
注册端口(RegisteredPorts):从1024到49151。它们松散地绑定于一些服务。我们可以用
动态和/或私有端口(Dynamicand/orPrivatePorts):从49152到65535。
常用端口
21 FTP
80 HTTP
443 HTTPS
====================协议====================
网络通讯的协议:
udp通讯协议的特点:
将数据极其源和目的封装为数据包,不需要建立连接(面向无连接)。
每个数据包大小限制在64K中。
因为无连接,所以不可靠。
因为不需要建立连接,所以速度快。
比如:物管的对讲机,人说话,飞Q聊天,游戏。。。。。
tcp通讯协议的特点:
面向连接,有特有的通道。
在连接中传输大数据量。
通过三次握手机制连接,可靠协议。
通信前必须建立连接,效率稍低。
比如:打电话,QQ/飞Q文件的传输(电影下载)。。。。