1、网络编程的基本概念

来源:互联网 发布:java分布式框架 dubbo 编辑:程序博客网 时间:2024/05/16 19:51

1、什么是计算机网络

把分布在不同地理区域的计算机与专门的外部设备用通信线路互连成一个规模大、功能强的网络系统,从而使众多的计算机可以方便的互相传递信息,共享软件、硬件、数据信息的资源。

2、计算机网络的主要功能

资源共享

信息传输与集中处理

均衡负荷与分布处理

综合信息服务

3、网络通信协议

要使计算机连成的网络能够互通信息,需要对数据传输速率、传输代码、代码结构、传输控制步骤、出错控制等制定一组标准。这一组共同遵守的通信标准就是网络通信协议,不同的计算机之间必须使用相同的通讯协议才能通信。

4、网络通信接口

为了使两个节点之间能进行对话,必须在他们之间建立通讯工具(即接口),使彼此之间能进行信息交换。接口包括两部分:

(1)硬件装置:实现节点之间的信息传送,例如:网线、路由器等

(2)软件装置:规定双方进行通信的约定协议 

5、TCP/IP

传输控制协议/因特网互连协议,又叫做网络通讯协议。这个协议是Internet最基本的协议、Internet国际互联网络的基础。简单的说,就是由网络层的IP协议传输层的TCP协议组成的。

IP地址:网络中每台计算机的一个标识号,本地IP:127.0.0.1 localhost

端口号(PORT):端口的范围:0-65535之间,0-1023之间的端口数是用于一些知名的网络服务和应用


6、程序开发结构

网络编程主要是指完成C/S程序的开发,程序的开发结构有两种

C/S(客户端/服务器):开发两套程序,两套程序需要同时维护。CS程序一般比较稳定。例如:QQ

B/S(浏览器/服务器):开发一套程序,客户端使用浏览器进行访问。BS程序一般稳定性较差,而且安全性较差。例如:各个论坛。

C/S程序主要可以完成以下两种程序的开发:

TCP:(Transmission Control Protocol)传输控制协议,采用三方握手的方式,保证准确的连接操作。

UDP:(User Datagram Protocol)数据报协议,发送数据报。例如:手机短信或者QQ消息。

TCP、UDP的数据帧格式简单图例:

数据帧:发送数据所包含的内容。即发送任何一条消息都要包含这些东西。

帧数据才是真正要发送的数据

对于Java开发者来说,底层协议就两种:TCP/UDP。TCP协议把消息发出后要收到确认信息才行,而UDP只负责把消息发出去,接受者是否收到无所谓。

三方握手:在可靠的传输层操作中,一台想要传送数据的设备通过创建一个会话,与远程设备建立起面向连接的通信。发送方设备首先与其对端系统建立起面向连接的会话,这称为“三方握手”。

三方握手包括三个步骤:
·第一个“同意连接”数据段用来请求同步。
·第二个和第三个数据段用来确认请求并在主机之间建立连接参数(即规则)。在这里,接收方的排序也要求进行同步,以便建立双向连接。
·最后一个数据段也用来进行确认。它通知目的主机已同意建立连接,并且已经建立了实际连接。然后就可以开始传输数据了。当数据传输完成后,就会产生呼叫终止,以断开虚电路。

例如:两军商量打某个山头,A军派通讯员告诉B军2点进攻,B军派通讯员告诉A军同意进攻计划。但是B军无法知道A军的确认信息。所以A军再次派通讯员告诉B军收到消息


原创粉丝点击