网络编程:关注底层数据的传输。
网页编程:关注与客户的交互。
1.网络:将不同区域的计算机连接在一起。 例如: 局域网、城域网、互联网
2.地址:IP地址,可以确定你的计算机在互联网的哪个节点,哪个位置。在网络上确定一个绝对地址、位置。做一个比喻,相当于一个房子的地址。
3.端口号:
在计算机中有很多程序,例如QQ,MSN等等。那么计算机是如何知道QQ程序,与QQ的服务器对接;MSN程序与MSN服务器对接呢。
端口号就相当于房门(继续上边的比喻,一台电脑类似于一座房子)。
端口号是用来区分计算机上的软件的。相当于房门。 端口号是2个字节,长度0~65535 共65536个。
在同一个协议下,端口号不能重复;不同的协议可以重复。
建议1024以下的不要使用,操作系统预留给一些常用软件的。
4.资源定位:
URI和URL: URI,统一资源; URL:统一资源定位(Location)。
5.数据的传输:
为了保证数据的正常传输和交流,需要使用协议。协议:TCP协议和UDP协议。
1)协议 (重点内容)
(1)TCP(Transmission Control Protocal 传输控制协议)协议类似“打电话”、三次握手;面向连接,必须先连接再通信,安全性高,效率相对低下。
(2)UDP(User Datagram Protocal 用户数据报协议)协议类似“发短信”;非面向连接,安全性低,但是效率高。只管发信息
2)传输:
(1)先封装:网络分层(4层)为了更好地封装。
(2)再拆封
下面对应于网络的这些概念,需要找到对应的封装好的java类。
1.地址:InetAddress InetSocketAddress
2.URL:
3.协议:
TCP:ServerSocket Socket
UDP: DatagramSocket DatagramPacket
数据传输的底层是流。