Java 网络编程的相关知识

Maren ·
更新时间:2024-09-20
· 532 次阅读

一、网络编程概述 1、C/S 和 B/S

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

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

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

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

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

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

3、UDP 和 TCP/IP 的区别

UDP

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

TCP/IP

面向连接,数据传递较为安全。 因为面向连接,所以传递速度较慢。 面向连接,数据传递有保障。 TCP/IP协议是有明确的服务器和客户端概念。
TCP/IP协议使用场景有客户端登陆,数据下载,文件传输等。 4、网络编程三要素

协议
两个台计算机通过网络进行数据传递,都需要对应的协议来完成。

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

端口号
端口号是当前应用程序在计算机中的一个编号。可以让计算机明确知道,当前的数据是给予哪一个程序使用,或者数据从哪一个程序出现的。
端口号是一个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); } } }
作者:Betterman_QS



网络编程 JAVA

需要 登录 后方可回复, 如果你还没有账号请 注册新账号