首页
社区
课程
招聘
管道通信(Platform:Windows Xp)
2008-4-29 10:41 7532

管道通信(Platform:Windows Xp)

2008-4-29 10:41
7532
首先创建一个指定名字的管道,调用如下API (具体参数查MSDN):
HANDLE CreateNamedPipe

创建一个新线程(CreateThread),轮循管道中是否有新消息到来,新线程中调用如下两个函数:
BOOL ConnectNamedPipe
BOOL DisconnectNamedPipe

//新线程过程
DWORD WINAPI InquiryPipeThreadProc(LPVOID lpParameter)
{
while(1)//堵死
{
    if(TRUE!=ConnectNamedPipe(...))
    {
           //查询出错原因
    }
    ReadFile(...);
    DisconnectNamedPipe(...);
    PostMessage(...);//您可以将管道中收的内容发送给窗口过程的消息队列
}
return 1;
}

[培训]内核驱动高级班,冲击BAT一流互联网大厂工 作,每周日13:00-18:00直播授课

收藏
点赞0
打赏
分享
最新回复 (10)
雪    币: 215
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
caocunt 2008-4-29 11:20
2
0
你这说了个啥?把MSDN的内容简单翻译一下?

有没有说管道是干什么的?
如何使用?
为什么会在管道里读出内容?
为什么管道会有消息?
跟File等文件对象有什么区别?

这些才是大家主要关心的东西,而你呢?照抄一段MSDN的文字,真侮辱了大家的智商.
雪    币: 209
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
十指紧扣 2008-4-29 11:33
3
0
就这也原创?
雪    币: 264
活跃值: (30)
能力值: ( LV12,RANK:250 )
在线值:
发帖
回帖
粉丝
kangaroo 6 2008-4-29 20:44
4
0
一、并不是翻译MSDN
二、管道是用来通信用的(消息队列知道不?)
三、通信的过程当然需要读取和发送,读取的内容当然是你向管道写入的内容
四、试问一下一个WEB程序想跟我们的应用程序进行通信你是如何做到的(讯雷,WEB中右键点击...)
五、Window机制看来你还不了解,其实Window把所有设备都当做文件来进行操作,主要是为了建立统一接口。

最后一点郑重声明我并没有侮辱大家智商,你误会了,在这里跟你说声不好意思。
雪    币: 215
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
caocunt 2008-4-29 20:49
5
0
简直是废话
1.不是照抄MSDN你自己发明的啊?
2.为什么用管道通讯?有消息和内存映射还有内存共享以及socket等,为什么偏用管道啊?你为什么不说清楚?
3.谁在什么情况下向管道写内容?为什么要这样作?
4.web程序跟我们的应用程序进行通讯用管道,为什么这样作?背后的原理是什么?有简单的实例模型给大家演示没?
5.这点就不跟你一般见识了.

要介绍API就介绍的完整详细一点,你这样弄只能说你很无知.
雪    币: 264
活跃值: (30)
能力值: ( LV12,RANK:250 )
在线值:
发帖
回帖
粉丝
kangaroo 6 2008-4-29 20:59
6
0
1、发明不敢当,我只是菜鸟,MSDN这个例子我没看过,我昨天只是对MDA软件为什么可以在WEB右键点击菜单后,主应用程序就能够知道我们的事件,所有研究了下。

2、通信机制很多种,为什么要用管道,开玩笑吧,你平时跟别人通信可以用网络,也可以用电话,那你告诉我你现在为什么用网络?
3、向管道中写入的是协议(人为制定的规则),只要应用程序知道是什么就OK了,游戏采用socket通信不也是这样?
4、没有为什么的,方法各显神通,只要能通信就可以了!!!
雪    币: 264
活跃值: (30)
能力值: ( LV12,RANK:250 )
在线值:
发帖
回帖
粉丝
kangaroo 6 2008-4-29 21:01
7
0
进程间的通信你认为用消息方便不?我只问你这一点!!!
当然你可以建立起一个共同访问的文件,来进行通信!!!
管道就是方便进程间的通信,其它我不想多说!!!
雪    币: 215
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
caocunt 2008-4-29 21:15
8
0
用管道就方便了?
为什么非要采用管道?
管道在内核是什么意思?
你有实例模型来演示这个API的使用不?不要仅仅提一下web程序如何如何,那些都是废话.

年轻人,低调点,不懂可以学,要虚心点.
雪    币: 264
活跃值: (30)
能力值: ( LV12,RANK:250 )
在线值:
发帖
回帖
粉丝
kangaroo 6 2008-4-29 21:21
9
0
向楼上学习,你能给我指点一下不?谢谢!!!
雪    币: 215
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
caocunt 2008-4-29 21:39
10
0
你把你的文章标题的"原创'的俩字先去掉,改成XXX介绍再说吧,用别人的API都用的含糊不清还大言不惭原创.
雪    币: 264
活跃值: (30)
能力值: ( LV12,RANK:250 )
在线值:
发帖
回帖
粉丝
kangaroo 6 2008-4-29 21:54
11
0
去掉了
游客
登录 | 注册 方可回帖
返回