一、网络编程
网络编程概述
网络编程 :
在网络[通信协议]下,不同计算机上运行的程序,可以进行[数据传输]
思考:
A电脑中的QQ,发送消息给B电脑中的QQ。那么需要知道[哪些条件]才能发送?
在这个故事场景下,你要怎么样才能找到这个女孩并把钱取出来?
第一步:
你要先找到这家银行,也就是银行的地址
第二步:
找到这个女孩在几号柜台工作
第三步:
按照银行的规则,填写取款单
在这个小故事中,找到这个女孩并成功取钱的要素有哪些?
银行的地址 ---- 银行的地址
柜台号 ---- 通过柜台跟客户交流并处理业务
填写取款单的规则 ----填写取款单的规则
网络编程三要素
IP地址
设备在网络中的地址,是唯一的标识。
端口
应用程序在设备中唯一的标识。
协议
数据在[网络中传输]的规则,常见的协议有UDP协议和TCP协议。
IP
IP:全称”互联网协议地址”,也称IP地址。是分配给上网设备的数字标签。常见的IP分类为:ipv4和ipv6
IPv4:
IP地址
IPv6:
由于互联网的蓬勃发展,IP地址的需求量愈来愈大,而IPv4的模式下[IP的总数]是有限的。 采用128位地址长度,分成8组。
常用命令:
ipconfig:查看本机IP地址
ping IP地址:检查网络是否连通
不通
特殊IP地址:
127.0.0.1:是回送地址也称本地回环地址,可以代表本机的IP地址,一般用来测试使用
加一个ipv4的分类,需要讲A-E,IP组成为:网络号 + 主机号 广域网 城域网 局域网
最大的广域网是因特网
添加组播地址,广播地址
InetAddress 的使用:
为了方便我们对IP地址的获取和操作,Java提供了一个类[InetAddress] 供我们使用
InetAddress:此类表示Internet协议(IP)地址
方法名 | 说明 |
static InetAddress getByName(String host) | 确定主机名称的IP地址。主机名称可以是机器名称,也可以是IP地址 |
String getHostName() | 获取此IP地址的主机名 |
String getHostAddress() | 返回文本显示中的IP地址字符串 |
package com.socketmodule.socketdemo1;
import java.net.InetAddress;
import java.net.UnknownHostException;
//static InetAddress getByName(String host)
// 确定主机名称的IP地址。主机名称可以是机器名称,也可以是IP地址
//String getHostName() 获取此IP地址的主机名
//String getHostAddress() 返回文本显示中的IP地址字符串
public class InetadressDemo1 {
public static void main(String[] args) throws UnknownHostException {
//getByName(String host)确定主机名称的IP地址。主机名称可以是机器名称,也可以是IP地址
InetAddress address = InetAddress.getByName("沉迷代码");
//String getHostName() 获取此IP地址的主机名
String hostName = address.getHostName();
System.out.println("主机名为" + hostName);
//String getHostAddress() 返回文本显示中的IP地址字符串
String ip = address.getHostAddress();
System.out.println("IP为" + ip);
}
}
端口
端口:应用程序在设备中唯一的标识。
端口号:用两个字节表示的整数,它的取值范围是0~65535。
其中0~1023之间的端口号用于一些知名的网络服务或者应用。
我们自己使用1024以上的端口号就可以了。
注意:一个端口号只能被一个应用程序使用。
协议
协议:计算机网络中,连接和通信的规则被称为网络通信协议
UDP协议
用户数据报协议(User Datagram Protocol)
UDP是面向无连接通信协议。(音频,视频,普通数据会使用用UDP,因为速度快,丢失一些数据没有太大的影响)
速度快,有大小限制一次最多发送64K,数据不安全,易丢失数据。
TCP协议
传输控制协议 (Transmission Control Protocol)
TCP协议是面向连接的通信协议。
速度慢,没有大小限制,数据安全。
小结
网络编程:就是可以让[两台计算机]进行[数据交互]。
网络编程三要素:
IP:设备在网络中唯一的标识。
端口号:应用程序在设备中唯一的标识。
协议:数据在传输过程中遵守的规则。