精华内容
下载资源
问答
  • 次面试的时候,被问到进程之间有哪些通信方式,不过由于之前没深入思考且整理过,说的并不好。想必大家也都知道进程有哪些通信方式,可是我猜很多人都是靠着”背“来记忆的,所以今天的这篇文章,讲给大家详细着...

    有一次面试的时候,被问到进程之间有哪些通信方式,不过由于之前没深入思考且整理过,说的并不好。想必大家也都知道进程有哪些通信方式,可是我猜很多人都是靠着”背“来记忆的,所以今天的这篇文章,讲给大家详细着讲解他们是如何通信的,让大家尽量能够理解他们之间的区别、优缺点等,这样的话,以后面试官让你举例子,你也能够顺手拈来。

    1、管道

    我们来看一条 Linux 的语句

    netstat -tulnp | grep 8080
    

    学过 Linux 命名的估计都懂这条语句的含义,其中”|“是管道的意思,它的作用就是把前一条命令的输出作为后一条命令的输入。在这里就是把 netstat -tulnp 的输出结果作为 grep 8080 这条命令的输入。如果两个进程要进行通信的话,就可以用这种管道来进行通信了,并且我们可以知道这条竖线是没有名字的,所以我们把这种通信方式称之为匿名管道

    并且这种通信方式是单向的,只能把第一个命令的输出作为第二个命令的输入,如果进程之间想要互相通信的话,那么需要创建两个管道。

    居然有匿名管道,那也意味着有命名管道,下面我们来创建一个命名管道。

    mkfifo  test
    
    

    这条命令创建了一个名字为 test 的命名管道。

    接下来我们用一个进程向这个管道里面写数据,然后有另外一个进程把里面的数据读出来。

    echo "this is a pipe" > test   // 写数据
    

    这个时候管道的内容没有被读出的话,那么这个命令就会一直停在这里,只有当另外一个进程把 test 里面的内容读出来的时候这条命令才会结束。接下来我们用另外一个进程来读取

    cat < test  // 读数据
    

    我们可以看到,test 里面的数据被读取出来了。上一条命令也执行结束了。

    从上面的例子可以看出,管道的通知机制类似于缓存,就像一个进程把数据放在某个缓存区域,然后等着另外一个进程去拿,并且是管道是单向传输的。

    这种通信方式有什么缺点呢?显然,这种通信方式效率低下,你看,a 进程给 b 进程传输数据,只能等待 b 进程取了数据之后 a 进程才能返回。

    所以管道不适合频繁通信的进程。当然,他也有它的优点,例如比较简单,能够保证我们的数据已经真的被其他进程拿走了。我们平时用 Linux 的时候,也算是经常用。

    2、消息队列

    那我们能不能把进程的数据放在某个内存之后就马上让进程返回呢?无需等待其他进程来取就返回呢?

    答是可以的,我们可以用消息队列的通信模式来解决这个问题,例如 a 进程要给 b 进程发送消息,只需要把消息放在对应的消息队列里就行了,b 进程需要的时候再去对应的
    消息队列里取出来。同理,b 进程要个 a 进程发送消息也是一样。这种通信方式也类似于缓存吧。

    这种通信方式有缺点吗?答是有的,如果 a 进程发送的数据占的内存比较大,并且两个进程之间的通信特别频繁的话,消息队列模型就不大适合了。因为 a 发送的数据很大的话,意味**发送消息(拷贝)**这个过程需要花很多时间来读内存。

    哪有没有什么解决方案呢?答是有的,请继续往下看。

    3、共享内存

    共享内存这个通信方式就可以很好着解决拷贝所消耗的时间了。

    这个可能有人会问了,每个进程不是有自己的独立内存吗?两个进程怎么就可以共享一块内存了?

    我们都知道,系统加载一个进程的时候,分配给进程的内存并不是实际物理内存,而是虚拟内存空间。那么我们可以让两个进程各自拿出一块虚拟地址空间来,然后映射到相同的物理内存中,这样,两个进程虽然有着独立的虚拟内存空间,但有一部分却是映射到相同的物理内存,这就完成了内存共享机制了。

    4、信号量

    共享内存最大的问题是什么?没错,就是多进程竞争内存的问题,就像类似于我们平时说的线程安全问题。如何解决这个问题?这个时候我们的信号量就上场了。

    信号量的本质就是一个计数器,用来实现进程之间的互斥与同步。例如信号量的初始值是 1,然后 a 进程来访问内存1的时候,我们就把信号量的值设为 0,然后进程b 也要来访问内存1的时候,看到信号量的值为 0 就知道已经有进程在访问内存1了,这个时候进程 b 就会访问不了内存1。所以说,信号量也是进程之间的一种通信方式。

    5、Socket

    上面我们说的共享内存、管道、信号量、消息队列,他们都是多个进程在一台主机之间的通信,那两个相隔几千里的进程能够进行通信吗?

    答是必须的,这个时候 Socket 这家伙就派上用场了,例如我们平时通过浏览器发起一个 http 请求,然后服务器给你返回对应的数据,这种就是采用 Socket 的通信方式了。

    总结

    所以,进程之间的通信方式有:

    1、管道

    2、消息队列

    3、共享内存

    4、信号量

    5、Socket

    讲到这里也就完结了,之前我看进程之间的通信方式的时候,也算是死记硬背,并没有去理解他们之间的关系,优缺点,为什么会有这种通信方式。所以最近花点时间去研究了一下,
    整理了这篇文章,相信看完这篇文章,你就可以更好着理解各种通信方式的由来的。

    唠叨一下,最近有点对不住各位,好久没写原创文章了。有点偷懒,哈哈。不过呢,我接下来会好好写文章的了,希望大家多多支持。

    老铁,要不点个赞再走可好?么么哒

    1、给俺点个赞呗,可以让更多的人看到这篇文章,顺便激励下我,嘻嘻。

    2、老铁们,关注我的原创微信公众号「帅地玩编程」,专注于写算法 + 计算机基础知识(计算机网络+ 操作系统+数据库+Linux)。

    保存让你看完有所收获,不信你打我。后台回复『电子书』送你一份精选电子书大礼包,包含各类技能的优质电子书。

    作者简洁

    作者:大家好,我是帅地,从大学、校招一路走来,深知算法计算机基础知识的重要性,所以申请了一个微星公众号『帅地玩编程』,专业于写这些底层知识,提升我们的内功,帅地期待你的关注,和我一起学习。 转载说明:未获得授权,禁止转载了。

    展开全文
  • 进程间通信种方式

    千次阅读 2014-09-22 13:39:28
    1、普通管道(pipe):管道是一种单工的通信方式,数据只能单向流动,而且只能在具有亲缘关系的进程间使用。进程的亲缘关系通常是指父子进程关系或者兄弟进程之间。 2、流管道(s_pipe):一种半双工的通信方式,可以...

    进程间通信的几种方式:

    1、普通管道(pipe):管道是一种单工的通信方式,数据只能单向流动,而且只能在具有亲缘关系的进程间使用。进程的亲缘关系通常是指父子进程关系或者兄弟进程之间。

    2、流管道(s_pipe):一种半双工的通信方式,可以双向传输。

    3、有名管道(named pipe):有名管道也是半双工的通信方式,但是它允许无亲缘关系的进程间的通信。

    4、信号量(semophore):信号量是一个计数器,可以用来控制多个进程对共享资源的访问。它常作为一种锁机制,防止某进程正在访问共享资源时,其他进程也访问该资源。因此,主要作为进程间以及同一进程内不同线程之间的同步手段。

    5、消息队列(message queue):消息队列是由消息的链表,存放在内核中并由消息队列标识符标识。消息队列克服了信号传递信息少、管道只能承载无格式字节流以及缓存区大小受限等缺点。

    6、信号(signal):信号是一种比较复杂的通信方式,用于通知接受进程某个事件已经发生。

    7、共享内存(shared memory):共享内存就是映射一段能被其他进程所访问的内存,这段共享内存由一个进程创建,但多个进程都可以访问。共享内存是最快的IPC方式,它是针对其他进程间通信方式运行效率低而专门设计的。它往往与其他通信机制,如信号量配合使用,来实现进程间的同步和通信。

    8、套接字(socket):套接字也是一种进程间通信的机制,与其他通信机制不同的是,它可用于不同及其间的进程通信。


    展开全文
  • 进程间通信的8种方式

    万次阅读 多人点赞 2018-11-12 10:51:34
    所以进程之间要交换数据必须通过内核,在内核中开辟块缓冲区,进程A把数据从用户空间拷到内核缓冲区,进程B再从内核缓冲区把数据读走,内核提供的这种机制称为进程间通信。 进程间通信(IPC)介绍 进程间通信(IPC...

    前言:

    进程通信:
    每个进程各自有不同的用户地址空间,任何一个进程的全局变量在另一个进程中都看不到,所以进程之间要交换数据必须通过内核,在内核中开辟一块缓冲区,进程A把数据从用户空间拷到内核缓冲区,进程B再从内核缓冲区把数据读走,内核提供的这种机制称为进程间通信。

    进程间通信(IPC)介绍

    进程间通信(IPC,InterProcess Communication)是指在不同进程之间传播或交换信息。

    IPC的方式通常有管道(包括无名管道和命名管道)、消息队列信号量共享存储SocketStreams等。其中 Socket和Streams支持不同主机上的两个进程IPC。

    一. 管道通信

    管道,通常指无名管道,是 UNIX 系统IPC最古老的形式。

    1、特点:

    • 它是半双工的(即数据只能在一个方向上流动),具有固定的读端和写端。

    • 它只能用于具有亲缘关系的进程之间的通信(也是父子进程或者兄弟进程之间)。

    • 它可以看成是一种特殊的文件,对于它的读写也可以使用普通的read、write 等函数。但是它不是普通的文件,并不属于其他任何文件系统,并且只存在于内存中。

     #include <unistd.h>
     int pipe(int fd[2]);    // 返回值:若成功返回0,失败返回-1
    

    2、 类型

    1. 匿名管道通信

    匿名管道( pipe ):管道是一种半双工的通信方式,数据只能单向流动,而且只能在具有亲缘关系的进程间使用。进程的亲缘关系通常是指父子进程关系。

    通过匿名管道实现进程间通信的步骤如下:

    • 父进程创建管道,得到两个⽂件描述符指向管道的两端
    • 父进程fork出子进程,⼦进程也有两个⽂件描述符指向同⼀管道。
    • 父进程关闭fd[0],子进程关闭fd[1],即⽗进程关闭管道读端,⼦进程关闭管道写端(因为管道只支持单向通信)。⽗进程可以往管道⾥写,⼦进程可以从管道⾥读,管道是⽤环形队列实现的,数据从写端流⼊从读端流出,这样就实现了进程间通信。
    2. 高级管道通信

    高级管道(popen):将另一个程序当做一个新的进程在当前程序进程中启动,则它算是当前程序的子进程,这种方式我们成为高级管道方式。

    3. 有名管道通信

    有名管道 (named pipe) : 有名管道也是半双工的通信方式,但是它允许无亲缘关系进程间的通信

    二. 信息队列

    消息队列,是消息的链接表,存放在内核中。一个消息队列由一个标识符(即队列ID)来标识。
    消息队列是比较高级的一种进程间通信方式,因为它真的是可以在进程间传送message,传送普通字符串也可以。

    一个消息队列可以被多个进程所共享(IPC((Inter-Process Communication,进程间通信))就是在这个基础上进行的);如果一个进程消息太多,一个消息队列放不下,也可以用多于一个的消息队列(不管管理可能会比较复杂)。共享消息队列的进程所发送的消息除了message本身外还有一个标志,这个标志可以指明该消息将由哪个进程或者哪类进程接受。每一个共享消息队列的进程针对这个队列也有自己的标志,可以用来申明自己的身份。

    1、特点

    • 消息队列是面向记录的,其中的消息具有特定的格式以及特定的优先级。

    • 消息队列独立于发送与接收进程。进程终止时,消息队列及其内容并不会被删除。

    • 消息队列可以实现消息的随机查询,消息不一定要以先进先出的次序读取,也可以按消息的类型读取。

    三. 信息量

    信号和信号量是不同的,它们虽然都可以用来同步和互斥,但是信号是使用信号处理器来进行的,信号量是使用P,V操作来实现的。

    信号量(semaphore),它是一个计数器。它常作为一种锁机制,防止某进程正在访问共享资源时,其他进程也访问该资源。因此,主要作为进程间以及同一进程内不同线程之间的同步手段。

    1、特点
    • 信号量用于进程间同步,若要在进程间传递数据需要结合共享内存。

    • 信号量基于操作系统的 PV 操作,程序对信号量的操作都是原子操作。

    • 每次对信号量的 PV 操作不仅限于对信号量值加 1 或减 1,而且可以加减任意正整数。

    • 支持信号量组。

    四. 共享内存通信

    共享内存(Shared Memory),指两个或多个进程共享一个给定的存储区。共享内存就是映射一段能被其他进程所访问的内存,这段共享内存由一个进程创建,但多个进程都可以访问。共享内存是最快的 IPC 方式,它是针对其他进程间通信方式运行效率低而专门设计的。它往往与其他通信机制,如信号量,配合使用,来实现进程间的同步和通信。

    1、特点
    • 共享内存是最快的一种 IPC,因为进程是直接对内存进行存取。

    • 因为多个进程可以同时操作,所以需要进行同步。

    • 信号量+共享内存通常结合在一起使用,信号量用来同步对共享内存的访问。

    五. 套接字( socket )

    套解口也是一种进程间通信机制,与其他通信机制不同的是,它可用于不同机器间的进程通信

    通信过程如下:

    5.1命名socket

    SOCK_STREAM 式本地套接字的通信双方均需要具有本地地址,其中服务器端的本地地址需要明确指定,指定方法是使用 struct sockaddr_un 类型的变量。

    5.2 绑定

    SOCK_STREAM 式本地套接字的通信双方均需要具有本地地址,其中服务器端的本地地址需要明确指定,指定方法是使用 struct sockaddr_un 类型的变量,将相应字段赋值,再将其绑定在创建的服务器套接字上,绑定要使用 bind 系统调用,其原形如下:

    int bind(int socket, const struct sockaddr *address, size_t address_len);
    

    其中 socket表示服务器端的套接字描述符,address 表示需要绑定的本地地址,是一个 struct sockaddr_un 类型的变量,address_len 表示该本地地址的字节长度。

    5.3 监听

    服务器端套接字创建完毕并赋予本地地址值(名称,本例中为Server Socket)后,需要进行监听,等待客户端连接并处理请求,监听使用 listen 系统调用,接受客户端连接使用accept系统调用,它们的原形如下:

    int listen(int socket, int backlog);
    
    int accept(int socket, struct sockaddr *address, size_t *address_len);
    

    其中 socket 表示服务器端的套接字描述符;backlog 表示排队连接队列的长度(若有多个客户端同时连接,则需要进行排队);address 表示当前连接客户端的本地地址,该参数为输出参数,是客户端传递过来的关于自身的信息;address_len 表示当前连接客户端本地地址的字节长度,这个参数既是输入参数,又是输出参数。

    5.4 连接服务器

    客户端套接字创建完毕并赋予本地地址值后,需要连接到服务器端进行通信,让服务器端为其提供处理服务。

    对于SOCK_STREAM类型的流式套接字,需要客户端与服务器之间进行连接方可使用。连接要使用 connect 系统调用,其原形为

    int connect(int socket, const struct sockaddr *address, size_t address_len);
    

    其中socket为客户端的套接字描述符,address表示当前客户端的本地地址,是一个 struct sockaddr_un 类型的变量,address_len 表示本地地址的字节长度。实现连接的代码如下:

    connect(client_sockfd, (struct sockaddr*)&client_address, sizeof(client_address));
    
    5.5 相互发送接收数据

    无论客户端还是服务器,都要和对方进行数据上的交互,这种交互也正是我们进程通信的主题。一个进程扮演客户端的角色,另外一个进程扮演服务器的角色,两个进程之间相互发送接收数据,这就是基于本地套接字的进程通信。发送和接收数据要使用 write 和 read 系统调用,它们的原形为:

    int read(int socket, char *buffer, size_t len);
    int write(int socket, char *buffer, size_t len);
    

    其中 socket 为套接字描述符;len 为需要发送或需要接收的数据长度;

    对于 read 系统调用,buffer 是用来存放接收数据的缓冲区,即接收来的数据存入其中,是一个输出参数;

    对于 write 系统调用,buffer 用来存放需要发送出去的数据,即 buffer 内的数据被发送出去,是一个输入参数;返回值为已经发送或接收的数据长度。

    5.6 断开连接

    交互完成后,需要将连接断开以节省资源,使用close系统调用,其原形为:

    int close(int socket);
    
    五种通讯方式总结:
    • 1.管道:速度慢,容量有限,只有父子进程能通讯

    • 2.消息队列:容量受到系统限制,且要注意第一次读的时候,要考虑上一次没有读完数据的问题

    • 3.信号量:不能传递复杂消息,只能用来同步

    • 4.共享内存区:能够很容易控制容量,速度快,但要保持同步,比如一个进程在写的时候,另一个进程要注意读写的问题,相当于线程中的线程安全,当然,共享内存区同样可以用作线程间通讯,不过没这个必要,线程间本来就已经共享了同一进程内的一块内存

    • 5.套接字: 可用于不同机器间的进程通信。

    展开全文
  • 线程间通信:由于多线程共享地址空间和数据空间,所以多个线程间的通信个线程的数据可以直接提供给其他线程使用

    (一)线程间通信:由于多线程共享地址空间和数据空间,所以多个线程间的通信是一个线程的数据可以直接提供给其他线程使用,

    而不必通过操作系统


    所以线程间通信和同步的方式主要有锁、信号、信号量

    进程间的通信则不同,它的数据空间的独立性决定了它的通信相对比较复杂,需要通过操作系统。

    通信机制主要有:管道、有名管道、消息队列、信号量、共享空间、信号、套接字(socket)


    (二)下面简单介绍下进程间的几种通信方式:

    管道:它传递数据是单向性的,只能从一方流向另一方,也就是一种半双工的通信方式;只用于有亲缘关系的进程间的通信,亲缘关

    系也就父子进程或兄弟进程;没有名字并且大小受限,传输的是无格式的流,所以两进程通信时必须约定好数据通信的格式。管道

    它就像一个特殊的文件,但这个文件之存在于内存中,在创建管道时,系统为管道分配了一个页面作为数据缓冲区,进程对这个数据

    缓冲区进行读写,以此来完成通信。其中一个进程只能读一个只能写,所以叫半双工通信,为什么一个只能读一个只能写呢?因为写进

    程是在缓冲区的末尾写入,读进程在缓冲区的头部读取,他们各自 的数据结构不同,所以功能不同。


    有名管道:看见这个名字就能知道个大概了,它于管道的不同的是它有名字了。这就不同与管道只能在具有亲缘关系的进程间通信了。

    它提了一个路径名与之关联,有了自己的传输格式。有名管道和管道的不同之处还有一点是,有名管道是个设备文件,存储在文件系

    统中,没有亲缘关系的进程也可以访问,但是它要按照先进先出的原则读取数据。同样也是单双工的。


    共享内存:就是分配一块能被其他进程访问的内存。共享内存可以说是最有用的进程间通信方式,也是最快的IPC形式。首先说下在使

    用共享内区前,必须通过系统函数将其附加到进程的地址空间或说为映射到进程空间。两个不同进程A、B共享内存的意思是,同一

    块物理内存被映射到进程A、B各自的进程地址空间。进程A可以即时看到进程B对共享内存中数据的更新,反之亦然。由于多个进程共

    享同一块内存区域,必然需要某种同步机制,互斥锁和信号量都可以。采用共享内存通信的一个显而易 见的好处是效率高,因为进程

    可以直接读写内存,而不需要任何数据的拷贝。对于像管道和消息队列等通信方式,则需要在内核和用户空间进行四次的数据拷贝,而

    共享内存则只拷贝两次数据[1]:一次从输入文件到共享内存区,另一次从共享内存区到输出文件。实际上,进程之间在共享内存时,并

    不总是读写少量数据后就 解除映射,有新的通信时,再重新建立共享内存区域。而是保持共享区域,直到通信完毕为止,这样,数据内

    容一直保存在共享内存中,并没有写回文件。共享内存 中的内容往往是在解除映射时才写回文件的。因此,采用共享内存的通信方式效

    率是非常高的。


     信号:信号是在软件层次上对中断机制的一种模拟,在原理上,一个进程收到一个信号与处理器收到一个中断请求可以说是一样的。

    信号是异步的,一个进程不必通过任何操作来等待信号的到达,事实上,进程也不知道信号到底什么时候到达。信号是进程间通信机

    制中唯一的异步通信机制,可以看作是异步通知,通知接收信号的进程有哪些事情发生了。信号机制经过POSIX实时扩展后,功能更

    加强大,除了基本通知功能外,还可以传递附加信息。信号事件的发生有两个来源:硬件来源(比如我们按下了键盘或者其它硬件故障);

    软件来源。信号分为可靠信号和不可靠信号,实时信号和非实时信号。进程有三种方式响应信号1.忽略信号2.捕捉信号3.执行缺省操作。


    信号量:也可以说是一个计数器,常用来处理进程或线程同步的问题,特别是对临界资源的访问同步问题。临界资源:为某一时刻只

    能由一个进程或线程操作的资源,当信号量的值大于或等于0时,表示可以供并发进程访问的临界资源数,当小于0时,表示正在等待

    使用临界资源的进程数。更重要的是,信号量的值仅能由PV操作来改变。


    套接字:就是socket通信,upd或tcp。

    展开全文
  • 用户进程间通信主要哪几种方式

    千次阅读 2014-05-02 21:53:58
    (1)管道(Pipe):管道可用于具有亲缘关系进程间的通信,允许个进程和另个与它有共同祖先的进程之间进行通信。 (2)命名管道(named pipe):命名管道克服了管道没有名字的限制,因此,除具有管道所具有...
  • 进程间的通信方式

    千次阅读 2011-10-26 21:15:02
    # 管道( pipe ):管道是一种半双工的通信方式,数据只能单向流动,而且只能在具有亲缘关系的进程间使用。进程的亲缘关系通常是指父子进程关系。 # 有名管道 (named pipe) : 有名管道也是半双工的通信方式,但是它...
  • activemq的三基本通信方式总结

    万次阅读 多人点赞 2015-01-16 13:44:56
     在前面篇文章里讨论过几应用系统集成的方式,发现实际上面向消息队列的集成方案算是个总体比较合理的选择。这里,我们先针对具体的个消息队列Activemq的基本通信方式进行探讨。activemq是JMS消息通信规范...
  • 一、POP3,全名为“Post Office ...这种离线访问模式是一种存储转发服务,将邮件从邮件服务器端送到个人终端机器上,一般是PC机或 MAC。一旦邮件发送到 PC 机或MAC上,邮件服务器上的邮件将会被删除。但目前的POP
  • RPC是远程过程调用协议,它是基于C/S模型调用的机制,客户机向服务器端发送调用请求等待服务器应答,是一种典型的请求应答机制,大致过程可以理解为本地分布式对象向本机发请求,不用自己编写底层通信本机会通过网络...
  • 5G通信什么

    万次阅读 多人点赞 2018-03-30 09:58:52
    摘要:先从个“神奇的公式”说起。。。个神奇的公式。。。就是这个公式!还记得这个公式的童鞋,请骄傲地为自己鼓个掌。。。如果不记得,或是看不懂,也没关系,无忌解释一下。。。就是这个超简单的公式,蕴含了...
  • 无线通信收发机(TRX)架构漫谈

    千次阅读 2015-04-17 23:17:24
    无线通信收发机架构漫谈 2015/4/9  enrich_you@qq.com  十年便是个轮回。在无线通信领域,昔日的霸主摩托罗拉、西门子、阿尔卡特等已渐渐远去,爱立信也在积极转型,最近又听说诺基亚要收购阿朗,国内通信...
  • 通信方式——NFC概述(

    千次阅读 2017-03-11 13:41:04
    .基本简介 NFC 芯片是具有相互通信功能,并具有计算能力,在Felica标准中还含有加密逻辑电路,MIFARE的后期标准也追加了加密/解密模块(SAM)。[1] NFC标准兼容了索尼公司的FeliCaTM标准,以及ISO 14443 A,B,...
  • 说说那些通信方式

    千次阅读 2016-11-06 23:33:16
    最早的通讯方式是最本能的东西,比如:吼、气味等。很早之前 什么都没有 ,人类过着群居的原始生活。现在的野人、狼、猩猩等等,遇到困难或有发现食物等后,就冲着天空远处大吼声:“嗷呜————哦——”,同伴...
  •  在前面篇文章里讨论过几应用系统集成的方式,发现实际上面向消息队列的集成方案算是个总体比较合理的选择。这里,我们先针对具体的个消息队列Activemq的基本通信方式进行探讨。activemq是JMS消息通信规范...
  • 什么是5G?5G通信关键技术简介

    万次阅读 2018-05-19 22:15:05
    第五代移动电话行动通信标准,也称第五代移动通信技术,外语缩写:5G。也是4G之后的延伸。5G网络的理论下行速度为10Gb/s(相当于下载速度1.25GB/s)。 实施阶段 我国5G技术研发试验将在2016-20...
  • 无线通信设计秘密:跳频技术

    万次阅读 多人点赞 2015-10-01 11:40:15
    、 使用无线跳频技术的意义 无线通信的健壮性来自2方面的挑战:外部干扰和多径衰退。 外部干扰 在ISM公用频段,频率是十分宝贵的资源。如下图所示,2.4GHz的频段有WiFi、Bluetooth和ZigBee,还有无绳电话、...
  • Linux进程通信)——pipe管道

    万次阅读 2017-02-14 20:30:29
    什么是进程通信进程通信就是两个进程之间进行数据交换,在Linux中有好几可以进行进程通信方式,在这篇文章中我们主要介绍最基本的进程通信方式——pipe管道。进程通信的途径进程之间交换信息的唯一途径就是传送...
  • 一种是烽火通信,这是一种发生在古代战争时期的军用通信方式一种是书信通信,这是一种军民两用的通信方式。 本文主要讨论“烽火通信”这种通信背后的通信原理。 目录: 1. 什么通信 广义的通信定义:...
  • 常见几种通信原理

    千次阅读 2020-06-10 16:44:46
    移动通信原理工作原理GSMWCDMACDMA2000LTE 移动通信(Mobile communication)是移动体之间的通信,或移动体与固定体之间的通信。移动体可以是人,也可以是汽车、火车、轮船、收音机等在移动状态中的物体。 移动通信...
  • Flutter插件野狗云实时通信

    千次阅读 2017-10-25 18:52:16
    Flutter插件野狗云实时通信使用野狗实时通信引擎(Wilddog Sync)的Flutter插件。野狗实时通信引擎即Sync,可以帮助开发者解决应用的实时通信问题,开发者通过API,即可为应用建立客户端之间的长连接,并实时地...
  • 由于自己之前毫无做过硬件接口的经历,所以这次的通信方式选择完全就是个无厘头。下面是之前的通信方式选择结果。 rs232通信方式 1、即时在开发板上有MAX232电平转换芯片,但是 2、我没有USB-RS232的线,...
  • 全双工 全双工是通讯的的传输的个术语 单工就是在同一时间只允许方向另一方传送信息,而另一方不能向一方传送 全双工(Full Duplex)是指在发送数据的同时也能够接收数据,两者同步进行...
  • 一种是烽火通信,这是一种发生在古代战争时期的军用通信方式一种是书信通信,这是一种军民两用的通信方式。 本文主要讨论“书信通信”这种通信背后的通信原理。 目录: 1. 什么通信 2. 通信系统模型 3. ...
  • 什么是RS485通信 RS485接口 RS232接口

    千次阅读 2012-11-05 00:25:52
     通信设备从早期的邮件,电报,电话,传真,传呼机,手机,电脑,一路发展下来,而且随着科技的发展,世界必将由个网络组成,所以,在未来开发的设备中,也必然要求大部分的设备都带有通信的功能。  设备与...
  • 语音信号经过模数转换,PCM编码,和复用技术之后,数字通信的信息都被转换为0和1的组合并通过各种物理信道传送。 而各种数据技术的主要作用就是根据信息自身特点和信道的特征来对数据进行打包。 1 以太网帧 以太网...
  • 浅谈通信信号调制样式自动识别方法 -古相平
  • 本来想好好的写写,但是因为各种事情占用了很多时间,并且信号的公式有点多,写式子有一点不方便,(都是借口),总之刚开始就放弃了,很遗憾没有完完全全写出来,不管怎样希望自己以后一定要坚持把通信这个给完完...
  • 数字通信的调制方式 ASK FSK PSK QAM

    万次阅读 2020-05-06 15:31:39
    传输模拟信号时一样,传输数字信号时也有三基本的调制方式:幅移键控(ASK)、频移键控(FSK)和相移键控(PSK)。它们分别对应于用载波(正弦波)的幅度、频率和相位来传递数字基带信号,可以看成是模拟线性调制和角度...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 60,308
精华内容 24,123
关键字:

信通信是一种什么方式