1.端口Port:
通常计算机上提供了HTTP,FTP等多种服务,客户机通过不同的端口来确定连接到服务器的哪项服务上。
2.套接字Socket:
套接字Socket用于将应用程序与端口连接起来。套接字是一个假想的链接装置。
3.InetAddress类
java.net包中的InetAddress类是与IP地址相关的类,利用该类可获取IP地址,主机地址等信息。
方法 | 返回值 | 说明 |
getByName(String host) | InetAddress | 获取与Host相对应的InetAddress对象 |
getHostAddress() | String | 获取InetAddress对象所包含的IP地址 |
getHostName() | String | 获取此IP地址的主机名 |
getLocalHost() | InetAddress | 返回本地主机的InetAddress对象 |
package netaddr;
import java.net.InetAddress;
public class GetAddress {
public static void main(String[] args) {
InetAddress addr;
try {
addr = InetAddress.getLocalHost();
System.out.println("本机InetAddress.getLocalHost()为:" + addr);
System.out.println("本机addr.getHostName()为:" + addr.getHostName());
System.out.println("本机addr.getHostAddress()为:" + addr.getHostAddress());
System.out.println("本机addr.getAddress()为:" + addr.getAddress());
System.out.println("本机addr.getCanonicalHostName()为:" + addr.getCanonicalHostName());
System.out.println("本机addr.getCanonicalHostName()为:" + addr.getCanonicalHostName());
System.out.println("本机addr.isLoopbackAddress()为:" + addr.isLoopbackAddress());
} catch (Exception e) {
e.printStackTrace();
}
}
}
输出:
本机InetAddress.getLocalHost()为:HFQ7FJ9Hxx/192.168.xx.xx
本机addr.getHostName()为:HFQ7FJ9H1G
本机addr.getHostAddress()为:192.168.xx.xx
本机addr.getAddress()为:[B@232204xx
本机addr.getCanonicalHostName()为:192.168.xx.xx
本机addr.getCanonicalHostName()为:192.168.xx.xx
本机addr.isLoopbackAddress()为:false
4.ServerSocket类
方法 | 返回值 | 说明 |
accept() | Socket | 等待客户机的连接,若连接,则创建一个套接字 |
isBound() | boolean | 判断ServerSocket的绑定状态 |
getInetAddress() | InetAddress | 返回此服务器套接字的本地地址 |
isClosed() | boolean | 返回此服务器套接字的关闭状态 |
close() | void | 关闭服务器套接字 |
bind() | void | 将serverSocket绑定到特定的IP地址和端口 |
getPort() | int | 返回服务器套接字等待的端口号 |