zoukankan      html  css  js  c++  java
  • paip.c++ 进程间通信方法大总结

    paip.c++ 进程间通信方法大总结




    作者Attilax ,  EMAIL:1466519819@qq.com 
    来源:attilax的专栏
    地址:http://blog.csdn.net/attilax


    进程间通信方法

    进程间通信主要包括管道, 系统IPC(包括消息队列,信号,共享存储), 套接字(SOCKET).文件交换,注册表,外设,  
    1、剪贴板Clipboard:
    2、窗口消息 标准的Windows消息以及专用的WM_COPYDATA消息 SENDMESSAGE()接收端必须有一个窗口
    3、使用共享内存方式(Shared Memory)
    4、动态数据交换(DDE)通过维护全局分配内存使的应用程序间传递成为可能
     5、消息管道(Message Pipe)
    6、邮件槽(Mailslots)
    8、Internet通信 它让应用程序从Internet地址上载或下载文件
    9、RPC:远程过程调用,很少使用,因其与UNIX的RPC不兼容。
    10、串行/并行通信(Serial/Parallel Communication)
    它允许应用程序通过串行或并行端口与其他的应用程序通信 
    11、COM/DCOM通过COM系统的代理存根方式进行进程间数据交换,但只能够表现在对接口 函数的调用时传送数据,通过DCOM可以在不同主机间传送数据。
     


    管道包括三种:
    3)命名管道:name_pipe, 去除了第二种限制,可以在许多并不相关的进程之间进行通讯.
    1)普通管道PIPE, 通常有两种限制,一是半双工,只能单向传输;二是只能在父子或者兄弟进程间使用. 
    2)流管道s_pipe: 去除了第一种限制,可以双向传输. 




    技术挑型://
    /
    在快速局域网 (LAN) 环境中,传输控制协议或 Internet 协议 (TCP/IP) 套接字客户端和命名管道客户端在性能方面不相上下。但是,网络速度越慢(如在广域网 (WAN) 或拨号网络上),TCP/IP 套接字客户端与命名管道客户端的性能差异越明显。这是因为进程间通讯 (IPC) 机制在对等项间的通讯方法不同。 




     一般情况下,套接字SOCKET在慢速 LAN、WAN 或拨号网络中效果较佳,而当网络速度不成问题时命名管道则是更好的选择,因为其功能更强、易于使用且提供多种配置选项。




    参考:
    命名管道(NamePipe) 与 TCP-IP套接字
    VC++中进程间相互通信的十一种方法 _天极网.htm
  • 相关阅读:
    MacOS Catalina 10.15安装教程,启动U盘制作及安装方法
    苹果macOS Catalina 10.15 正式版推送了,要不要升级,需要注意什么?
    Sublime Text Mac如何进行按键绑定?
    Mac软件应用程序打开出现意外退出、崩溃解决办法
    使用VScode Mac版编译配置C/C++程序完整图文教程
    pycharm pro 2019 mac重构技巧?
    一体化数据库管理Navicat Premium for Mac的命令提示代码
    jsonp理解
    linux系统命令大全
    java学习笔记之分层增删改查
  • 原文地址:https://www.cnblogs.com/attilax/p/15199513.html
Copyright © 2011-2022 走看看