Java复习笔记(五)网络编程概述

在这里插入图片描述

一、相关名词概述

IP

互联网的基础协议,其中一个作用就是给互联网中的设备(主机)分配IP地址,以便在互联网中找到某个设备
数据包是互联网中数据传输的基本单位,IP规定了数据如何分段打包,以及单个数据包如何传输到目标主机,以便各种设备之间可以相互交换数据

域名

IP地址不方便记忆,而域名(Domain Name),是互联网上主机的名称,每个域名都对应了一个IP地址,而且域名方便记忆,所以人们一般使用域名访问某台主机

localhost表示本地主机的名称,对应127.0.0.1

DNS(Domain Name System),即域名系统,存放着互联网上所有域名和IP地址的对应关系,当人们使用域名时,就需要先通过DNS查询域名对应的IP地址,然后再使用IP地址找到目标主机

计算机中的hosts文件是一个本地的DNS(C:\Windows\System32\drivers\etc目录下),我们可以修改hosts文件手动配置域名和IP地址的对应关系,计算机在查找时会优先查找hosts文件

端口号

一台主机可以提供多种服务(运行多个程序),为了方便外界区分和访问,每个服务都要有一个端口号,通过IP地址和端口号来唯一确定某台主机上的某个服务

端口号的范围是 [ 0 , 65535 ] ,其中 [ 0 , 1023 ] 是系统保留端口,提供给系统服务以及其他著名的服务如HTTP(80)。我们自己的程序如果不提供著名服务,就尽量不要占用系统保留端口

主机中某个端口号某个时刻只能被一个程序占用,系统采用先申请先得的方式进行分配,程序结束即释放所占用的端口号

某个端口号有时候会被其他程序占用,或者程序重复启动时也会报端口号被占用的错误,这时可以在cmd命令行执行netstat -ano 查看占用某个端口号的程序的进程id,然后到任务管理器中找到该进程结束掉即可

TCP

TCP(Transmission Control Protocol)传输控制协议,是一个面向连接的,可靠的,基于字节流的传输层通信协议,很多应用层协议都建立在TCP之上,程序也可直接使用TCP进行网络通信
TCP会在两台主机之间建立一个连接(虚拟的),通过一定的方式控制数据传输的过程,可以保证数据的完整、有序、正确

socket编程

网络编程,主要是指基于TCP的网络通信编程,使用Socket类实现,也称为socket编程

socket编程模型中有服务器端和客户端,服务器端使用ServerSocket创建,一般有固定的IP地址和端口号,方便向外界提供服务。客户端可以有多个,并且使用Socket主动连接服务器。连接后,服务器端也创建一个Socket对象表示这次连接

二、基于TCP的网络编程步骤

服务器端:

1 创建服务器对象ServerSocket
2 等待客户端的连接请求,收到请求后即返回表示这次连接的Socket对象
3 开启新的线程专门处理这个连接
4 获得连接的输入输出流,并按照一定的规则进行数据交换
5 关闭连接(关闭连接时会自动关闭IO流)

客户端:

1 创建Socket对象,即向服务器申请连接
2 获得连接的输入输出流,并按照一定的规则进行数据交换
3 最后关闭连接(关闭连接时会自动关闭IO流)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值