现实运用中,Socket还是经常用的 通信必备条件
1、每台主机拥有唯一的标识(IP地址)
2、共同的通信语言(协议)
3、区别不同应用程序的端口
网线、网卡等属于物理层;TCP/IP协议在传输层;应用层也是用户可以直接接触得到的,如以下协议:
应用层协议
IP地址
IP地址也有格式,IPv4版本指的是第四个版本
端口:
一台电脑可以运行多个不同的程序,用端口号区分这些应用程序。一台电脑上的QQ消息能不能被另一台电脑的MSN接收呢?当然不能,原因就是两个程序的端口号不同
自定义端口号时,建议1023之后的
Socket 常用协议默认端口号
public static void main(String[] args) throws UnknownHostException {
//获取本机的InetAddress实例
InetAddress address1=InetAddress.getLocalHost(); //会产生异常,try/catch解决或者抛出异常
System.out.println("本机InetAddress获得计算机名称:"+address1.getHostName());
System.out.println("本机InetAddress获得计算机IP地址:"+address1.getHostAddress());
//字符数组获得IP地址
byte[] bytes1=address1.getAddress(); //可能会溢出
System.out.println("字符数组形式获得IP:"+Arrays.toString(bytes1));
//直接输出InetAddress对象
System.out.println(address1);
System.out.println("===================");
//根据其他电脑的名称获取InetAddress对象
InetAddress address2=InetAddress.getByName("Lenovo-PC");
System.out.println("获得名称:"+address2.getHostName());
System.out.println("获得IP地址:"+address2.getHostAddress());
//根据其他电脑的IP获取InetAddress对象
InetAddress address3=InetAddress.getByName("192.168.1.108");
System.out.println("名称:"+address3.getHostName());
System.out.println("IP地址:"+address3.getHostAddress());
}
InetAddress运行截图
URL
URLURL组成一个网址就是一个URL,如“www.baidu.com”就是一个URL
网友评论