管道通信

管道通信(Communication Pipeline)即发送进程以字符流形式将大量数据送入管道,接收进程可从管道接收数据,二者利用管道进行通信。无论是SQL Server用户,还是PB用户,作为C/S结构开发环境,他们在网络通信的实现上,都有一种共同的方法——命名管道。由于当前操作系统的不惟一性,各个系统都有其独自的通信协议,导致了不同系统间通信的困难。尽管TCP/IP协议目前已发展成为Internet的标准,但仍不能保证C/S应用程序的顺利进行。命名管道作为一种通信方法,有其独特的优越性,这主要表现在它不完全依赖于某一种协议,而是适用于任何协议——只要能够实现通信。

管道通信基本信息

中文名 管道通信 外文名 Communication Pipeline

命名管道程序设计的实现

1.命名管道Server和Client间通信的实现流程

(1)建立连接:服务端通过函数CreateNamedPipe创建一个命名管道的实例并返回用于今后操作的句柄,或为已存在的管道创建新的实例。如果在已定义超时值变为零以前,有一个实例管道可以使用,则创建成功并返回管道句柄,并用以侦听来自客户端的连接请求,该功能通过ConnectNamedPipe函数实现。

另一方面,客户端通过函数WaitNamedPipe使服务进程等待来自客户的实例连接,如果在超时值变为零以前,有一个管道可以为连接使用,则WaitNamedPipe将返回True,并通过调用CreateFile或CallNamedPipe来呼叫对服务端的连接。此时服务端将接受客户端的连接请求,成功建立连接,服务端ConnectNamedPipe返回True,客户端CreateFile将返回一指向管道文件的句柄。

从时序上讲,首先是客户端通过WaitNamedPipe使服务端的CreateFile在限时时间内创建实例成功,然后双方通过ConnectNamedPipe和CreateFile成功连接,并返回用以通信的文件句柄,此时双方即可进行通信。

(2)通信实现:建立连接之后,客户端与服务器端即可通过ReadFile和WriteFile,利用得到的管道文件句柄,彼此间进行信息交换。

(3)连接终止:当客户端与服务端的通信结束,或由于某种原因一方需要断开时,客户端应调用CloseFile,而服务端应接着调用DisconnectNamedPipe。当然服务端亦可通过单方面调用DisconnectNamedPipe终止连接。最后应调用函数CloseHandle来关闭该管道。

命名管道服务器端和客户端代码实现

客户端

HANDLE CltHandle;

char pipenamestr[30];

sprintf(pipenamestr,″\\servername\pipe\pipename″)

if (WaitNamedPipe( pipenamestr, NMPWAIT—WAIT—FOREVER)==FALSE

// 管道名要遵循UNC,格式为\ \.\pipe\pipname,名字不分大小写。

AfxMessageBox(″操作失败,请确定服务端正确建立管道实例!″);

Else

CltHandle=CreateFile(pipenamestr, GENERIC—READ|GENERIC—WRITE, FILE—SHARE—READ| FILE—SHARE—WRITE,NULL, OPEN—EXISTING,

//为了与命名管道连接,此参数应一直为OPEN—EXISTING

FILE—ATTRIBUTE—ARCHIVE|FILE—FLAG—WRITE—THROUGH,

// FILE—FLAG—WRITE—THROUGH会使管道WriteFile调用处于阻塞状态,直到数据传送成功。

NULL);

If (CltHandle== INVALID—HANDLE—VALUE)

AfxMessageBox(″管道连接失败″);

Else

DoUsertTransactInfo();

//执行用户自定义信息交换函数——从管道读、写信息。

……

服务端

HANDLE SvrHandle;

char pipenamestr[30];

sprintf(pipenamestr,″\\.\pipe\pipename″)

SvrHandle=CreateNamedPipe(pipenamestr,

PIPE—ACCESS—DUPLEX|FILE—FLAG—WRITE—THROUGH,

//阻塞模式,这种模式仅对″字节传输管道″操作有效。

FILE—WAIT|PIPE—TYPE—BYTE,

//字节模式

PIPE—UNLIMITED—INSTANCES,

128,128,

NULL,NULL);

// SECURITY—ATTRIBUTES结构指针,描述一个新管道,确定子进程的继承权,如果为NULL则该命名管道不能被继承。

If (SvrHandle==INVALID—HANDLE—VALUE)

AfxMessageBox(″管道创建失败,请确定客户端提供连接可能!″);

Else

If (ConnectNamedPipe(SvrHandle,NULL)==FALSE)

AfxMessageBox(″建立连接失败!″);

Else

DoUsertTransactInfo();

//用户自定义信息交换函数

……

管道通信造价信息

市场价 信息价 询价
材料名称 规格/型号 市场价
(除税)
工程建议价
(除税)
行情 品牌 单位 税率 供应商 报价日期
管道 公称直径DN(mm):50,规格型号:24 查看价格 查看价格

卓奥

m 13% 江苏卓奥节能设备安装工程有限公司浙江办事处
管道式换气扇 DPT20-54B 风量:770m3/H;功率:0.145KW;噪声:35DB(A),风压:200PA 查看价格 查看价格

雄吉通风

13% 重庆市雄吉通风设备股份有限公司
给水用钢丝网增强聚乙烯复合管道1.6MPA Ф200 查看价格 查看价格

顾地

m 13% 重庆顾地塑胶电器有限公司
PE通信管道用子 30×26 查看价格 查看价格

上海熊猫

m 13% 泉州兴源塑料有限公司三明办事处
PE通信管道用子 32×28 查看价格 查看价格

上海熊猫

m 13% 泉州兴源塑料有限公司三明办事处
管道及附件 包含系统内所含的管道、弯头、三通、法兰等 查看价格 查看价格

13% 上海熊猫机械(集团)有限公司
PE地下通信管道 105×32×7 查看价格 查看价格

坚宝

m 13% 南宁坚宝伟业电缆有限公司
钢纤增强聚乙烯复合压力管道(含聚氨酯保温层及PE外护套) DN200×8.5 1.6MPa 查看价格 查看价格

粤星管道

m 13% 广东建通管道制品有限公司
材料名称 规格/型号 除税
信息价
含税
信息价
行情 品牌 单位 税率 地区/时间
环卫管道疏通机 功率1.5(kW) 查看价格 查看价格

台班 韶关市2010年8月信息价
9A151 查看价格 查看价格

台班 汕头市2012年4季度信息价
功率120kW 查看价格 查看价格

台班 汕头市2012年4季度信息价
功率160kW 查看价格 查看价格

台班 汕头市2012年4季度信息价
9A151 查看价格 查看价格

台班 汕头市2012年3季度信息价
功率240kW 查看价格 查看价格

台班 汕头市2012年3季度信息价
功率120kW 查看价格 查看价格

台班 汕头市2012年3季度信息价
9A151 查看价格 查看价格

台班 汕头市2012年1季度信息价
材料名称 规格/需求量 报价数 最新报价
(元)
供应商 报价地区 最新报价时间
塑料通信管道 塑料管道敷设 PVC-Ф110 壁厚3.8mm(直壁)|1421m 3 查看价格 广州市鑫塑管业有限公司 全国   2020-03-20
塑料通信管道 PE-Ф126|211m 1 查看价格 广东联臣管道有限公司 广东   2020-08-10
塑料通信管道 PE-Ф126|211m 1 查看价格 广东联塑科技实业有限公司 全国   2020-06-16
PVC通信管道 Ф100(PVC,壁厚3.5mm)|1053台 3 查看价格 广东雄塑科技集团股份有限公司 广东   2019-04-26
通信管道 PVC-U Ф63 δ=3.5mm|1000m 3 查看价格 佛山市顺德区建通实业有限公司 全国   2018-04-23
塑料通信管道 PVC-Ф114×3.5×6000|379m 1 查看价格 广东联塑科技实业有限公司 全国   2020-06-16
通信管道 SVSY32×9|2480m 1 查看价格 广东联塑科技实业有限公司 广东   2018-06-06
通信管道 PVC-U Ф110 δ=5mm|1000m 3 查看价格 佛山市顺德区建通实业有限公司 全国   2018-04-23

关于Unix中的管道通信

从Unix System V 开始,系统提供有名管道和无名管道两种数据通信方式。

无名管道为建立管道的进程和子进程提供一种以比特流方式传送信息的通信管道。在逻辑上可以看作是管道文件,在物理上由文件系统的高速缓冲区构成,而很少起用外设。发送进程利用文件系统的系统调用write (fd[1],buf,size)把buf中长度为size的字符送入管道入口fd[1],接受进程则使用系统调用read(fd[0],buf,size)从管道出口读取信息到buf。管道按照先进先出传送消息。只能单向传送。

建立无名管道的系统调用为int fd[2],pipe(fd)。-------参考教材计算机操作系统教程(第三版)清华大学出版社

使用灵活性

命名管道具有很好的使用灵活性,表现在:

1) 既可用于本地,又可用于网络。

2) 可以通过它的名称而被引用。

3) 支持多客户机连接。

4) 支持双向通信。

5) 支持异步重叠I/O操作。

不过,当前只有Windows NT支持服务端的命名管道技术。

管道通信常见问题

  • 管道通头问题

    重新识别或用块复制即可

  • 什么是管道通头?

    管道通头——各种管件有三通、弯头、直接等。

  • 请问什么是管道通

    商品名称:管道通畅通洗净剂 商品品牌:格瑞卫康 包装规格:105MM(长)X 25MM(宽)X 130MM(高) 产品描述: 本品含有碳酸钠、苛性钠、催化剂、铝片等成份,是一种高性能疏通剂,能溶...

程序设计的注意事项

1.如果命名管道客户端已打开,函数将会强迫关闭管道,用DisconnectNamedPipe关闭的管道,其客户端还必须用CloseHandle来关闭最后的管道。

2. ReadFile和WriteFile的hFile句柄是由CreateFile及ConnectNamedPipe返回得到。

3.一个已被某客户端连接的管道句柄在被另一客户通过ConnectNamedPipe建立连接之前,服务端必须用DisconnectNamedPipe函数对已存在的连接进行强行拆离。服务端拆离管道会造成管道中数据的丢失,用FlushFileBuffers函数可以保证数据不被丢失。

4.命名管道服务端可以通过新创建的管道句柄或已被连接过其他客户的管道句柄来使用ConnectNamedPipe函数,但在连接新的客户端之前,服务端必须用函数DisconnectNamedPipe切断之前的客户句柄,否则ConnectNamedPipe 将会返回False。

5.阻塞模式,这种模式仅对“字节传输管道"操作有效,并且要求客户端与服务端不在同一机器上。如果用这种模式,则只有当函数通过网络向远端计算机管道缓冲器写数据成功时,才能有效返回。如果不用这种模式,系统会运行缺省方式以提高网络的工作效率。

6.用户必须用FILE—CREATE—PIPE—INSTANCE 来访问命名管道对象。新的命名管道建立后,来自安全参数的访问控制列表定义了访问该命名管道的权限。所有命名管道实例必须使用统一的管道传输方式、管道模式等参数。客户端未启动,管道服务端不能执行阻塞读操作,否则会发生空等的阻塞状态。当最后的命名管道实例的最后一个句柄被关闭时,就应该删除该命名管道。

管道通信文献

管道通信 管道通信

格式:pdf

大小:34KB

页数: 7页

评分: 4.6

Linux 的管道通信 进程通信的实用例子之一是 Unix 系统的管道通信。 Unix 系统从 SystemV 开始提供有名 管道和无名管道两种数据通信方式。 无名管道为建立管道的进程及其子孙提供一条以比特流 方式传送消息的通信 。该管道在逻辑上被看作管道文件,在物理上则由文件系统的高速缓 冲区构成,而很少启动外设。有名管道可用于两个无关的进程之间的通信。 管道是 Linux 支持的最初 Unix IPC 形式之一,在 Linux 中是一种使用非常频繁的通信 机制。从本质上说, 管道也是一种文件, 但它又和一般的文件有所不同,管道可以克服使用 文件进行通信的两个问题,具体表现为: ·限制管道的大小。实际上,管道是一个固定大小的缓冲区。在 Linux 中,该缓冲区的 大小为 1 页,即 4K 字节,使得它的大小不象文件那样不加检验地增长。使用单个固定缓冲 区也会带来问题, 比如在写管道时可能

立即下载
管道通信毕业论文 管道通信毕业论文

格式:pdf

大小:34KB

页数: 15页

评分: 4.6

管道通信毕业论文

立即下载

本书重点阐述了长输油气管道通信传输网的相关知识,主要内容包括通信基础、油气管道光缆网、油气管道光通信传输设备、时钟同步网、油气管道卫星通信网、光传输网管、传输网运行维护以及油气管道通信传输网发展趋势等。

本书主要用作长输油气管道通信运行维护人员的培训教材,也可供长输油气管道通信设计、施工、维护管理人员学习参考。

第一章 绪论

第一节 通信系统基本概念及分类

第二节 通信网

第三节 油气管道通信传输网

复习思考题

第二章 油气管道光缆网

第一节 光纤

第二节 光缆

第三节 油气管道光缆的同沟敷设

复习思考题

第三章 油气管道光通信传输设备及组网

第一节 光通信传输技术演进

第二节 光传输网主要技术

第三节 光传输技术在油气管道传输网的应用

复习思考题

第四章 时钟同步网

第一节 同步网

第二节 SDH传输网同步

第三节 管道SDH光传输时钟同步网

复习思考题

第五章 油气管道卫星通信网

第一节 卫星通信技术演进

第二节 卫星通信基础知识

第三节 卫星通信系统构成

第四节 卫星通信系统的技术体制

第五节 VSAT卫星通信技术

第六节 卫星通信技术在油气管道通信网的应用

复习思考题

第六章 光传输网管

第一节 光传输网管基础知识

第二节 油气管道SDH光传输网网管系统

第三节 综合网管

复习思考题

第七章 传输网运行维护

第一节 光缆维护

第二节 通信系统维护

第三节 传输网运行维护所需仪器仪表

第四节 运行维护工作的信息化

复习思考题

第八章 油气管道通信传输网发展趋势

复习思考题

附录 专用词汇及缩略语

参考文献 2100433B

丛书名中国石油天然气集团公司统编培训教材

版次1

印张26

条码号9787518315062

装帧平装

出版社石油工业出版社

印刷时间2016.12

所属分类TE978

页数414

字数430千字

开本1/16

CIP 数据CIP数据核字(2016)第236362号

管道通信相关推荐
  • 相关百科
  • 相关知识
  • 相关专栏