第19章 网络通信----网络程序设计基础

  网络程序设计是指编写与其他计算机进行通信的程序。Java已经将网络程序所需要的东西封装成不同的类。只要创建这些类的对象,使用相应的方法。

1、局域网与因特网

  为了实现两台计算机的通信,必须要用一个网络线路连接两台计算机。

  服务器是指提供信息的计算机或程序,客户机是指请求信息的计算机或程序,而网络用于连接服务器与客户机,实现两者相互通信。但有时在某个网络中很难将服务器与客户机区分开。

  我们通常所说的局域网(Local Area Network,LAN),就是一群通过一定形式连接起来的计算机。它可以由两台计算机组成,也可以由同一区域内的上千台计算机组成。由LAN延伸到更大的范围,这样的网络称为广域网(Wide Area Network,WAN)。我们熟悉的因特网,就是由无数的LAN和WAN组成的。

2、网络协议

  网络协议规定了计算机之间连接的物理、机械(网线与网卡的连接规定)、电气(有效的电平范围)等特征以及计算机之间的相互寻址规则、数据发送冲突的解决、长的数据如何分段传送与接收等。就像是不同的国家有不同的法律一样。

  (1)IP协议

  IP是Internet Protocol的简称,它是一种网络协议。Internet网络采用的协议是TCP/IP协议。Internet依靠TCP/IP协议,在全球范围内实现不同硬件结构、不同操作系统、不同网络系统的互联。

  在Internet网络上存在数以亿计的主机,每一台主机在网络上用为其分配的Internet地址代表自己,这个地址是IP地址。到目前为止IP地址用4个字节,也就是32位的二进制数来表示,称为IPv4。为了便于使用,,通常取用每个字节的十进制数,并且每个字节之间用圆点隔开来表示IP地址,如:192.168.1.1.现在人们试验使用16个字节来表示IP地址,这就是IPv6。TCP/IP模式是一种层次结构,共分为4层。

    

  (2)TCP与UDP

  TCP协议是一种以固接连线为基础的协议,它提供两台计算机间可靠的数据传送。TCP可以保证从一端数据送至连接的另一端时,数据能够确实送达,而且抵达的数据的排列顺序和送出时的顺序相同,因此,TCP协议适合可靠性要求比较高的场合。

  UDP是无连接通信协议,不保证可靠数据的传输,但能够向若干个目标发送数据,接收发自若干个源的数据。UDP是以独立发送数据包的方式进行。这种方式就像邮递员送信给收信人,可以基础很多信给同一个人,而每封信都是相对独立的,各封信送达的顺序并不重要,收信人接收信件的顺序也不能保证与基础信件的顺序相同。UDP协议适合于一些对数据准确性要求不高的场合,如网络聊天室、在线影片等。

  TCP协议在认证上存在额外耗费,可能使传输速度减慢,而UDP协议可能会更合适这些对传输速度和时效要求非常的网站。

3、端口和套接字

  一般而言,一台计算机只有单一的连到网络的物理连接,所有的数据都通过此连接对内、对外送达特定的计算机,这就是端口。网络程序设计中的端口(port)并非真实的物理存在,而是一个假想的连接装置。

  端口被规定为一个在0~65536之间的整数。HTTP服务一般使用80端口,FTP服务使用21端口。假如一台计算机提供了HTTP、FTP等多种服务,那么客户机会通过的端口来确定连接到服务器的哪项服务上。通常,0~1023之间的端口数用于一些知名的网络服务和应用,用户的普通网络应用程序应该使用1024以上的端口数,以避免端口号与另一个应用或系统服务所用端口冲突。

  网络程序中的套接字(Socket)用于将应用程序与端口连接起来。套接字是一个假想的连接装置,就像插头的设备“插座”用于连接电器与电线一样。

时间: 2024-12-18 07:26:19

第19章 网络通信----网络程序设计基础的相关文章

第19章 可视化网络架构

第19章 可视化网络架构 我们还没有讨论的一个概念是架构可视化,即构建网络中节点和对应的连接的图表并且将该图表作为一副图像保存到磁盘的过程.图中的节点表示层,节点之间的连接表示数据通过网络的数据流. 在每层中这些图通常包括下述部件: (1)输入卷大小: (2)输出卷大小: (3)可选的层的名字. 我们通常使用网络架构可视化,当(1)调试我们自己的自定义网络架构和(2)出版的时候,这时架构可视化要比源码以及涵盖同样信息的表格更加容易理解.在后续中,将看到如何使用keras构建架构可视化,且将它作为

19.1 网络程序设计基础

1.概述 Java已经将网络程序锁需要的东西封装成不同的类.只要创建这些类的对象,使用相应的方法,及时设计人员不具备有关的网络知识,也可以编写出高质量的网络通信程序.2.网络协议 a.IP协议 IP是Internet Protocol的简称,它是一种网络协议.Internet网络采用的协议是TCP/IP协议,其全称是Transmission Control Protocol/Internet Protocol. TCP/IP模式是一种层次结构,共分为4层,分别为应用层.传输层.互联网层和网络层.

TsinghuaX: 00740043X C++语言程序设计基础 第四章提纲

第4章(一) 本章导学 程序中的对象是现实中对象的模拟,具有属性和功能/行为: 抽象出同一类对象的共同属性和行为,形成类,对象是类的实例: 类将数据和处理数据的函数封装在一起,隐藏内部细节,提供对外访问接口: 定义对象时,可以通过构造函数进行初始化: 删除对象时,可以通过析构函数释放资源 一个类的对象可以由其他类的对象组合而成,即类的成员可以是其他类的对象: 在这一章,我们还将学习结构体.联合体和枚举类 面向对象程序设计的基本特点 抽象 对同一类对象的共同属性和行为进行概括,形成类. 先注意问题

[WuDe]C#程序设计教程 - 第1章 C#程序设计基础

第1章 C#程序设计基础 1.1 C#基础 概述 .NET是一个平台 C#是一门语言 编译原理 1) 编写源代码 2) C#编译器将C#源代码编译成MSIL 3) 将中间代码交给CLR的即时编译器(JIT)将微软中间语言转化成相应的机器码(CPU指令) 4) 交给CPU运行机器码 被CLR所管理的代码叫做托管代码,不能够被CLR管理的代码叫做非托管代码,非托管代码运行效率高,但是相对安全性较低;托管代码运行效率较低,但代码相对是安全的. 标识符 以字母/下划线/数字组成,且第一个字符必须为字母或

C#程序设计教程 - 第1章 C#程序设计基础

第1章 C#程序设计基础 1.1 C#基础     概述 .NET是一个平台 C#是一门语言     编译原理 编写源代码 C#编译器将C#源代码编译成MSIL 将中间代码交给CLR的即时编译器(JIT)将微软中间语言转化成相应的机器码(CPU指令) 交给CPU运行机器码;     被CLR所管理的代码叫做托管代码,不能够被CLR管理的代码叫做非托管代码,非托管代码运行效率高,但是相对安全性较低;托管代码运行效率较低,但代码相对是安全的.     标识符 以字母/下划线/数字组成,且第一个字符必

C#程序设计教程 – 第1章 C#程序设计基础

C#程序设计教程 作者:WuDe???????? 时间:20140626???? C#程序设计基础 C#基础 概述 .NET是一个平台 C#是一门语言 编译原理 编写源代码 C#编译器将C#源代码编译成MSIL 将中间代码交给CLR的即时编译器(JIT)将微软中间语言转化成相应的机器码(CPU指令) 交给CPU运行机器码 被CLR所管理的代码叫做托管代码,不能够被CLR管理的代码叫做非托管代码,非托管代码运行效率高,但是相对安全性较低;托管代码运行效率较低,但代码相对是安全的. 标识符 以字母/

Java学习笔记—第十二章 Java网络编程入门

第十二章  Java网络编程入门 Java提供的三大类网络功能: (1)URL和URLConnection:三大类中最高级的一种,通过URL网络资源表达方式,可以很容易确定网络上数据的位置.利用URL的表示和建立,Java程序可以直接读入网络上所放的数据,或把自己的数据传送到网络的另一端. (2)Socket:又称"套接字",用于描述IP地址和端口(在Internet中,网络中的每台主机都有一个唯一的IP地址,而每台主机又通过提供多个不同端口来提供多种服务).在客户/服务器网络中,当客

Laxcus大数据管理系统2.0(8)- 第六章 网络通信

第六章 网络通信 Laxcus大数据管理系统网络建立在TCP/IP网络之上,从2.0版本开始,同时支持IPv4和IPv6两种网络地址.网络通信是Laxcus体系里最基础和重要的一环,为了能够利用有限的网络资源,获得最大化的使用效率,我们根据大数据网络环境的特点,设计了一套专属网络通信协议,以及在此协议基础上实现的多套网络通信方案,它们共同组成了Laxcus集群的网络通信基础.本章将以TCP/IP协议为起点,介绍与网络通信有关的各个组成部分. 6.1 FIXP协议 Laxcus采用FIXP协议通信

【RL-TCPnet网络教程】第2章 嵌入式网络协议栈基础知识

第2章        嵌入式网络协议栈基础知识 本章教程为大家介绍嵌入式网络协议栈基础知识,本章先让大家有一个全面的认识,后面章节中会为大家逐一讲解用到的协议. 基础知识整理自百度百科,wiki百科等. 2.1   初学者重要提示 2.2   TCP/IP协议栈简介 2.3   TCP/IP参考模型 2.4   OSI参考模型 2.5   RL-TCPnet和参考模型的对应关系 2.6   网络协议收录文件RFC 2.7   以太网和IEEE 802.3 2.8   网线相关知识 2.9   总