InetAddress类的使用

实现网络通信需要解决的两个问题

  1. 如果准确地定位网络上一台或多台主机;定位主机上的特定的应用。
  2. 找到主机后如何可靠高效的进行数据传输。

网络通信的两个要素

  1. 对应问题一:IP和端口号
  2. 对应问题二:提供网络通信协议:TCP/IP参考模型(应用层、传输层、网络层、物理+数据链路层)

通信要素一:IP和端口号

在Java中使用InetAddress 类代表IP。此类的一个对象就代表一个具体的IP地址。

实例化过程:

  • getByName(String host)
  • getLocalHost()

常用方法有:

  • getHostName()
  • getHostAddress()

端口号表示正在计算机上运行的进程。不同的程序有不同的端口号。自定义端口号的范围在:0~65535之间。

端口号和IP地址的组合得到一个网络套接字:Socket

通信要素二:网络通信协议

网络通信模型分类:

image-20210225164034381

image-20210225164143027

TCP和UDP的区别:

image-20210225164200869

TCP的三次握手和四次挥手过程:

image-20210225164312443image-20210225164324167

TCP网络编程

UDP网络编程

URL编程