网络编程
网络:就是把计算机通过物理线路连接起来,形成网络,实现交换数据和共享信息。
网络通信的三要素:
1 IP地址:唯一的网络标识。
2端口号: 计算机中应用的标号,代表一个应用程序。0-1024系统使用或保留端口。
有效端口0-65536。
3通信协议: TCP 和 UDP。
网络通信模型
IP地址分类:
特殊IP
- 0.0.0.0:本机
- 127.0.0.1:本机回环地址,用于本机测试
255.255.255.255:当前子网,一般用于向当前子网广播信息
InetAddress
InetAddress 表示IP地址。
public class Test01 {
public static void main(String[] args) {
// 获取本机IP地址
InetAddress ip1;
try {
ip1 = InetAddress.getLocalHost();
// USER-20180113BT/192.168.2.56
System.out.println(ip1.toString());
// 获取主机名称
System.out.println(ip1.getHostName());
System.out.println(ip1.getHostAddress());
} catch (UnknownHostException e) {
e.printStackTrace();
}
}
public class Test01 {
public static void main(String[] args) {
// 获取本机IP地址
InetAddress ip1;
try {
ip1 = InetAddress.getLocalHost();
// USER-20180113BT/192.168.2.56
System.out.println(ip1.toString());
// 获取主机名称
System.out.println(ip1.getHostName());
System.out.println(ip1.getHostAddress());
} catch (UnknownHostException e) {
e.printStackTrace();
}
}
TCP 编程
如果要完成通信,通信双方必须创建SOCKET,通过SOCKET完成通信。
TCP通信步骤:
【1】 服务器启动SERVERSOCKET作为通信的SOCKET端,等待客户端链入。
【2】 客户端创建SOCKET端作为通信的CLIENT端。
【3 】 CLIENT端链入Server端后建立可靠的 双向的 持续性的 点对点的通讯连接,
通信期间常见的问题:
【1】端口被占用;
【2】 服务器未启动;
【3】连接时异常 SocketTimeoutException
网络速度慢可能发生连接是异常