您的位置:首页 > 理论基础 > 计算机网络

Java 网络编程的相关知识

2020-03-08 14:24 941 查看

一、网络编程概述

1、C/S 和 B/S

C/S 是客户端-服务器软件结构,服务提供商给予用户服务需要准备的内容。

  1. 各大平台的客户端
    Android iOS PC Windows Linux macOS
  2. 服务器提供服务
    软件更新时,服务器版本更新,同时本地软件也要进行更新操作,这个操作非常耗时。

B/S是浏览器-服务器软件结构,服务提供商只要提供数据服务以及前端数据展示方式就可以了。

  1. 浏览器提供商非常多
    谷歌,火狐,欧朋,Safari,Edge
  2. 服务器提供服务
    软件更新时,服务器更新数据,浏览器刷新就可以了。
2、网络通信协议

网络通信协议是要求双方传递数据的计算机必须遵守的,按照对应的网络传输协议才可以进入数据的交互和传递。

目前网络段数据传输比较常见的协议: UDP 和 TCP/IP

3、UDP 和 TCP/IP 的区别

UDP

  1. 面向无连接,数据传递不是特别安全。
  2. 因为面向无连接,所以传输速度快。
  3. 因为面向无连接,所以数据传递存在丢包问题。
  4. UDP没有客户端和服务器区别,都可以作为发送端和接收端。
    UDP协议的使用场景有直播,网络游戏等。

TCP/IP

  1. 面向连接,数据传递较为安全。
  2. 因为面向连接,所以传递速度较慢。
  3. 面向连接,数据传递有保障。
  4. TCP/IP协议是有明确的服务器和客户端概念。
    TCP/IP协议使用场景有客户端登陆,数据下载,文件传输等。
4、网络编程三要素
  1. 协议
    两个台计算机通过网络进行数据传递,都需要对应的协议来完成。

  2. IP地址
    Internet Protocol Address
    当前计算机在网络中的一个地址编号,类似于手机号号码
    IP地址有IPv4协议和IPv6协议
    IPv4是一个32位的二进制数,通常展示效果是a.b.c.d 例如 192.168.1.1
    a.b.c.d 各代表0 ~ 255的数字,目前已经消耗殆尽 42亿个
    IPv6能够保证地球上的每一粒沙子都有一个IP地址
    128位地址长度,16字节一组
    8组 0x0 ~ 0xFFFF

  3. 端口号
    端口号是当前应用程序在计算机中的一个编号。可以让计算机明确知道,当前的数据是给予哪一个程序使用,或者数据从哪一个程序出现的。
    端口号是一个short类型 0 ~ 65535
    0~1024不能用于自定义端口号使用,是特定的系统端口号。

二、IP类

SUN公司提供给开发者使用的IP地址类:InetAddress类

1、常用方法
InetAddress getLocalhost();
获取本机IP地址类对象
InetAddress getByName(String str);
根据指定的主机名获取对应的IP地址对象
InetAddress[] getAllByName(String str);
根据指定主机名获取域名对应的所有IP地址类对象
2、使用演示
public class Demo {
public static void main(String[] args) throws UnknownHostException {
//获取本机IP地址类对象
InetAddress localHost = InetAddress.getLocalHost();
System.out.println(localHost);

//根据指定的域名获取对应的IP地址对象
InetAddress byName = InetAddress.getByName("www.csdn.net");
System.out.println(byName);

//根据指定主机名获取域名对应的所有IP地址类对象
InetAddress[] allByName = InetAddress.getAllByName("www.baidu.com");
for (InetAddress inetAddress : allByName) {
System.out.println(inetAddress);
}
}
}
  • 点赞 2
  • 收藏
  • 分享
  • 文章举报
Betterman_QS 发布了14 篇原创文章 · 获赞 27 · 访问量 1万+ 私信 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: