一、网络 1、概念:网络即将不同区域的电脑连接到一起, 组成局域网、城域网或广域网。把分布在不同地理区域的计算机与专门的外部设备用通信线路互连成一个规模大、功能强的网络系统从而使众多的计算机可以方便地互相传递信息,共享硬件、软件、数据信息等资源。 2、主要功能 • 资源共享 • 信息传输与集中处理 • 均衡负荷与分布处理 3、网络通信协议 计算机网络中实现通信必须有一些约定即通信协议,对速率、传输代码、代码结构、传 输控制步骤、出错控制等制定标准。 4、网络通信接口 为了使两个结点之间能进行对话,必须在它们之间建立通信工具(即接口),使彼此之间 能进行信息交换。接口包括两部分: • 硬件装置: 实现结点之间的信息传送; • 软件装置: 规定双方进行通信的约定协议 二、网络分层 由于结点之间联系很复杂,在制定协它们复合起来。最常用的复合方式是一层,而与再下一层不发生关系。 三、 IP 位置 IP是 Internet Protocol 的外语缩写, 网络之间互连的协议也就是为计算机网络相互连接进行通信而设计的协议。 在因特网中,它是能使连接到网上的所有计算机网络实现相互通信的一套规则,规定了计算机在因特网上进行通信时应当遵守的规则。任何厂家生产的计算机系统,只要遵守 IP 协议就可以与因特网互连互通。端口:区分数据流向的软件 0-65535 不要使用 1024 以下的端口 ,每一个协议拥有自己的端口,在同一个协议下端口不能重复 FTP:21 HTTP:80 四、端口:port 端口是虚拟的概念,并不是说在主机上真的有若干个端口。通过端口,可以在一个主机 上运行多个网络应用程序。可以类比为:IP 相当于公司,端口相当于公司各部门,URL相当于各部门的人员 五、资源的传输协议 TCP:TCP(transfer control protocol) 打电话 面向连接、安全、可靠,效率低 UDP:UDP(UserDatagramProtocol ) 发送短信 非面向连接、不安全、数据可能丢失 、 效率高 六、网络编程 1、InetAddress 封装计算机的 ip 地址和 DNS( Domain Name System,域名系统) ,没有端口。 1)、方法 InetAddress.getLocalHost(); InetAddress.getByName(“www.163.com”); InetAddress.getByName(“223.87.1.58”) 2) 、方法 getHostAddress() 返回 ip 地址 getHostName() 返回域名|本机为计算机名 2、InetSocketAddress 包含端口,用于 socket 通信的
、获取对象 InetSocketAddress(String hostname, int port) InetSocketAddress(InetAddress addr, int port)、方法 getAddress() 返回 InetAddress 对象 getPort() 返回端口 getHostName() 返回域名 3 、URL、URI(Uniform resource identifier) 统一资源标识符, 用来唯一的标识一个资源。、URL( Uniform Resource Locator) 统一资源定位器,它是一种具体的 URI 。统一资源定位符,由 4 部分组成:协议 、存放资源的主机域名、资源文件名和端口号。 URL 是指向互联网“资源”的指针。资源可以是简单的文件或目录,也可以是对更为复杂的对象的引用,例如对数据库或搜索引擎的查询。 4、UDP 编程: DatagramSocket DatagramPacUserDatagramProtocol,一种无连接的传输层协议,提供面向事送服务。其特点为:非面向连接;传输不可靠;数据可能丢失。 1)、服务器: ①创建服务器 DatagramSocket 类 +指定端口 ②准备接收容器 字节数组 +封装成 DatagramPacket 数据包 ③接收数据 ④分析数据 ⑤释放资源 2)、客户端: ①创建客户端 DatagramSocket 类 +指定端口 ②准备数据 字节数组 ③封装成数据包 需要指定包发送的地址+端口 即服务器地与端口 ④发送数据 ⑤释放资源 5、TCP 编程:ServerSocket Socket transfer control protocol,一种面向连接(连接导向)的、可靠的、基于字节流的传输 层(Transport layer)通信协议的点到点的通信 。TCP 三次握手(Three-way Handshake),类似于拨打电话、特点 基于 tcp 协议,建立稳定连接的点对点的通信;实时、快速、安全性高、占用系统资源 多、效率低;“请求-响应”模式: a)、客户端:在网络通讯中,第一次主动发起通讯的程序被称作客户端(Client)程序 b)、服务器:第一次通讯中等待连接的程序被称作服务器端(Server)程序 • Socket:发送 TCP 消息 • ServerSocket:创建服务器 套接字是一种进程间的数据交换机制。这些进程既可以在同一机器上,也可以在通过网络连接的不同机器上。换句话说,套接字起到通信端点的作用。单个套接字是一个端点,而一对套接字则构成一个双向通信信道,使非关联进程可以在本地或通过网络进行数据 交换。一旦建立套接字连接,数据即可在相同或不同的系统中双向或单向发送,直到其 中一个端点关闭连接、服务器: ①创建服务器 指定端口 ②等待客户端连接 ③分析接收数据、客户端: ①连接服务器: 创建客户端 +指定服务器地址 +端口 ②发送数据