计算机网络14--网络应用进程通信

本页内容

1.进程通信的方式

2.套接字在通信中的作用

3.进程的寻址方式

4.应用层协议

1.进程通信的方式

你每运行一个程序,都会有进程产生,可能是一个,也可能是多个。如果它只能自己一个人封闭孤单的运行,那就太无趣了。人大多数都想与朋友攀谈交流,进程也是如此。那么它们是如何做到的呢?

如果同一主机上运行的进程想互相通信,它们可以通过进程间通信机制来完成,这种机制是由操作系统提供的,就像是自己家乡的方言,同为老乡,交流自然没有任何问题了。那么问题来了,如果我想离开家乡,外出闯荡,与在不同主机上运行的进程通信该怎么办呢?俗话说,在家讲方言,在外说普通话。不同主机上运行的进程要对话,当然要用大家都明白的方式——消息交换,来进行了。不然让一个用win方言的进程与一个用MacOS方言的进程见面时相互说自家方言,岂不让人贻笑大方。那么消息交换是通过什么来进行的呢?答案是:套接字。

2.套接字在通信中的作用

套接字=socket

进程间通信是利用socket发送/接受消息来实现的。

从图中不难看出,套接字相当于一个公用的中间语言,让不同的主机可以顺利通话。要让套接字可以成功的做个好翻译,传输基础设施需向进程提供相应的API,供其使用。这里就要涉及到传输协议的选择和相应参数的设置。我们暂不细说。

3.进程的寻址方式

不同主机上运行的进程如何相互识别,你可能会说简单啊!每台主机不是都有IP吗?顺着IP去找不就行了吗?那门问题又来了,如果你的QQ想与你女朋友的QQ对话,可当信息依据你女朋友的IP地址传过去时,却发现你的女朋友又开了一个可以接受网络信息的进程——LOL客服端。那么,你的信息到底传给哪个进程呢?那你肯定会说传给QQ的网络进程啊,那到底哪个才是QQ的网络进程呢?对!这里我们还需要将相关进程标识一下,让别的进程发送的信息可以顺利到达目的进程。这就是我们所说的进程的标识符(不同主机上的进程相互通信,必须要有这个东西)。标识符由IP地址和端口号(Port
number)组成。主机上的不同进程都会被分配相应的端口号,就像每户人家都被分配门牌号一样。比如说:HTTP Server的端口号为:80,Mail Sever的端口号为:25。

4.应用层协议

没有规矩,不成方圆。网络应用要想正常通信,必须要有好的协议来规范通信才行。网络应用要遵循应用层协议。应用层协议可分为公开协议和私有协议。公开协议由RFC(Request For Comments)定义,允许互操作,如HTTP、SMTP等。私有协议多数是P2P文件共享应用,都开发公司自己制定,非公开。

应用层协议主要是用来规范那些方面的呢?

a.消息的类型(type):请求消息,响应消息。(你必须知道对面是什么,才能做好万无一失的准备)

b.消息的语法(syntax)/格式:消息中有哪些字段,每个字段如何描述。

c.字段的语义(semantics):字段中信息的含义。

d.规则(rules):进程何时发送/响应消息等。

最后,让我们用HTTP协议作为例子,结束这篇文章:

图片看不懂没关系,百度一下,你就知道。

时间: 2024-08-02 15:08:42

计算机网络14--网络应用进程通信的相关文章

计算机网络体系结构及其简单通信

(一)通信的基本概念: 我们知道,通信的目的是快速.有效地传递信息.下面我们先来简单地介绍一点通信的基本知识: 现代信息的表达方式有文字.符号.声音.图像数据等多种形式.为了实现信息传递,通常以光.电等信号作为信息的载体. 信号:信息的表达形式 信道:信号传输的通道,是信号传输媒介的总称. 信源:发出信息的地方 信宿:信息传送的终点 根据传送信息的信道(信号传输媒介)不同,通信可分为有线通信和无线通信. 有线通信的信道:包括电缆.光缆.明线等可见的物理媒体. 无线通信的信道:有长波.中波.短波.

网络与通信:网络其他问题

计算机网络技术是互联网发展的基础.它是计算机技术与通信技术结合的产物,是现在信息技术的一个重要组成部分,而且正朝着数字化.高速化.智能化的方向迅速发展.随着3G.4G技术的兴起,越来越多的企业参与到了网络与通信相关的行业的角逐,网络与通信相关的行业的角逐,网络与通信成为信息化浪潮的先锋.而对于网络相关技术的考察也越来越受到各大IT企业的重视. 常用的网络安全防护措施有哪些 什么是SQL注入式攻击 电路交换技术报文交换技术和分组交换技术有什么区别 相比IPV4IPV6有什么优点 常用的网络安全防护

网络与通信:网络协议(概念)

计算机网络技术是互联网发展的基础.它是计算机技术与通信技术结合的产物,是现在信息技术的一个重要组成部分,而且正朝着数字化.高速化.智能化的方向迅速发展.随着3G.4G技术的兴起,越来越多的企业参与到了网络与通信相关的行业的角逐,网络与通信相关的行业的角逐,网络与通信成为信息化浪潮的先锋.而对于网络相关技术的考察也越来越受到各大IT企业的重视. TCP和UDP的区别有哪些 什么叫三次握手什么叫四次断开 引申1TCP为什么需要三次握手采用两次握手可以吗 引申2为什么建立连接协议是三次握手而关闭连接却

计算机网络起源 网络发展简介(一)

“上网”这个有些口语化的词汇,想必没人会觉得陌生,可是“网”到底是什么? 互联网概念   截图自百度百科:https://baike.baidu.com/item/%E4%BA%92%E8%81%94%E7%BD%91/199186 互联网发展编年史 互联网发展史是从20世纪50年代到90年代,按编年体的形式,详细历数了互联网一步步走向成熟的发展过程,由美国国防部编制. 百度百科链接: https://baike.baidu.com/item/%E4%BA%92%E8%81%94%E7%BD%9

Android开发之网络请求通信专题(二):基于HttpClient的文件上传下载

上一篇专题Android开发之网络请求通信专题(一):基于HttpURLConnection的请求通信我们讲解了如何使用httpurlconnection来实现基本的文本数据传输.一般在实际开发中我们可以用于传输xml或者json格式的数据.今天我们来讲解另外一种http网络请求的方式:httpclient,并实现文件的上传和下载. 在这里插个题外话,其实这些网络请求有很多第三方jar包可以使用,这些包都封装得很好了.如果只是想使用,我们就直接拿别人得jar包来用就好.博主这里推荐一个叫xuti

(转) 在linux网络UDP通信中,关于客户端是否绑定的理解

最近在做一个实例,是用RTSP协议完成.服务器已经有了,只需要把客户端做好就行了,在做的过程中发现了一些问题,就是关于UDP客户端是否绑定的问题. 也许大家在书上看到的大多都是说UDP客户端不需要绑定,直接就可以和服务器通信,一开始我也是这样认为的,而且我也是这样做的,可是做着做着发现出现了问题. 在UDP通信中,我们建立一个服务器,进行绑定,等待客户端的连接请求,现把服务器的代码贴出来简述: ///////////*****************************server.c***

bbblack的网络socket通信实验

1. 本次用bbblack作网络的通信实验,对了,这个板子必须装SD卡才能启动吗?板载的4GB eMMC Flash 存储器,eMMC (Embedded Multi Media Card) 为MMC协会所订立的,eMMC 相当于 NandFlash+主控IC ,对外的接口协议与SD.TF卡一样,主要是针对手机或平板电脑等产品的内嵌式存储器标准规格.eMMC的一个明显优势是在封装中集成了一个控制器,它提供标准接口并管理闪存,使得手机厂商就能专注于产品开发的其它部分,看下原理图,果然是SD卡的接口

《计算机网络原理》网络应用通信基本原理(三)

一个应用进程可以创建多个套接字与同一个或不同的传输层协议进行接口. 对于一个传输层协议,需要为与其接口的每个套接字分配一个编号,表示该套接字,该编号称为端口号. 通常服务器进程套接紫会分配特定的端口号,而客户进程的套接字会绑定一个随机的唯一端口号. 一台主机上可能同时运行多个网络应用进程,每个应用进程通过一个或多个套接字与传输层协议进行接口. 因此,通过进程运行的主机IP地址以及其套接字所绑定的端口号可以标识应用进程. 原文地址:https://www.cnblogs.com/158-186/p

计算机网络之网络协议

基本概念 网络协议为计算机网络中进行数据交换而建立的规则.标准或约定的集合. 要素 网络协议是由三个要素组成: (1) 语义.语义是解释控制信息每个部分的意义.它规定了需要发出何种控制信息,以及完成的动作与做出什么样的响应. (2) 语法.语法是用户数据与控制信息的结构与格式,以及数据出现的顺序. (3) 时序.时序是对事件发生顺序的详细说明.(也可称为“同步”). 人们形象地把这三个要素描述为:语义表示要做什么,语法表示要怎么做,时序表示做的顺序. 工作方式 网络上的计算机之间又是如何交换信息