网络编程(InetAddress,IP,端口,协议,UDP,TCP)

本文深入讲解网络编程核心概念,包括IP地址、端口和协议的作用及使用。探讨IPv4与IPv6的区别,端口如何标识应用程序,以及TCP和UDP协议在网络通信中的规则。

网络编程

  • 在网络通信协议下,实现网络互连的不同计算机上运行的程序间可以进行数据交换

网络编程三要素

  • IP地址
  • 端口
  • 协议

IP地址

  • 要想让网络中的计算机能够互相通信,必须为每台计算机指定一个标识号,通过这个标识号来指定要接收数据的计算机和识别发送的计算机,而IP地址就是这个标识号。也就是是设备的标识
  • IPv4:32bit地址,4个字节,用二进制表示,如11000000 10101000 00000001 01000010,为了方便写成十进制,如192.168.1.66
  • IPv6:互联网发展,IP需求变大,原有IPv4满足不了,通过IPv6重新定义地址空间,采用128bit地址长度,每16位一组,分成8组十六制数,如:2001:DB8:0:23:8:800:200C:417A

Java提供类InetAddress获取IP地址,此类表示Internet协议(IP)地址

  • public static InetAddress getByName(String host):确定主机名称的IP地址。主机名称可以使机器名称,也可以使IP地址
  • public String getHostName():获取此IP地址的主机名
  • public String getHostAddress():返回文本显示中的IP地址字符串
package com.wangLuo;

import java.net.InetAddress;
import java.net.UnknownHostException;

/**
 * @author 林高禄
 * @create 2020-05-19-15:39
 */
public class TestInetAddress {
    public static void main(String[] args) throws UnknownHostException {
        /*//通过127.0.0.1获取到的hostName是空的
        InetAddress address1 =  InetAddress.getByName("127.0.0.1");
        // 这是我电脑的名称
        InetAddress address2 =  InetAddress.getByName("PC-20190927NMRM");
        // ipv4
        InetAddress address3 =  InetAddress.getByName("192.168.1.55");*/
        // ipv6
        InetAddress address4 = InetAddress.getByName("fe80::54aa:3450:cbfe:3976%11");
        String hostName = address4.getHostName();
        String hostAddress = address4.getHostAddress();
        System.out.println(hostName);
        System.out.println(hostAddress);
    }
}

 输出:

PC-20190927NMRM
fe80:0:0:0:54aa:3450:cbfe:3976%11

端口

  • 网络的通信,本质上是两个应用程序的通信。每台计算机都有很多的应用程序,那么在网络通信时,如何区分这些应用程序呢?如果说IP地址可以唯一标识网络中的设备,那么端口号就可以唯一标识设备中的应用程序了。也就是应用程序的标识
  • 范围:2个字节表示的整数,0~65535,其中0~1023用于一些知名的网络服务和应用。

协议

  • 通过计算机网络可以使多台计算机实现连接,位于同一个网络中的计算机在进行连接和通信时需要遵守一定的规则,这就好比在道路中行驶的汽车一定要遵守交通规则一样。在计算机网络中,这些连接和通信的规则被称为网络通信协议。它对数据的传输格式、传输速率、传输步骤等做了统一规定,通信双方必须同时遵守才能完成数据交换。常用的协议有UDP协议TCP协议
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

林高禄

你打不打赏,我都会一直写博客

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值