关于网友提出的“ 邮槽如何与多个服务端通信”问题疑问,本网通过在网上对“ 邮槽如何与多个服务端通信”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:
问题: 邮槽如何与多个服务端通信
描述: 在本地上有一个客户端进程,一个服务端进程,服务端创建邮槽然后接受数据后,会一直等待,直到我在客户端里面点 “发送数据”,服务端接受到数据。一个客户端,一个服务端可以工作。
但我想用两个服务端来接受数据,让客户端发送消息时,两个服务端都能收到,,于是我在服务端创建邮槽的部分加了判断:如果创建的油槽名Name已经存在了,则用CreateFile打开Name这个邮槽,返回句柄h用来读取邮槽,但这时候我运行两个服务端a,b。 a接受数据(创建了邮槽,并读取邮槽),一直等待直到我客户端发送了数据,然后b也接收数据,由于a已经创建了邮槽,所以b会CreateFile打开这个邮槽,用返回的句柄来读取邮槽,但它没有和a一样等待,而是立即返回读取失败的错误,
求解!!!
解决方案1: b会CreateFile打开这个邮槽,用返回的句柄来读取邮槽
a b 是否需要同步
解决方案2: mailslot我还从来没用过..pipe也是..
解决方案3: CreateMailslot Function
Creates a mailslot with the specified name and returns a handle that a mailslot server can use to perform operations on the mailslot. The mailslot is local to the computer that creates it. An error occurs if a mailslot with the specified name already exists.
以上介绍了“ 邮槽如何与多个服务端通信”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/2980334.html