簡體   English   中英

Win32命名管道和遠程客戶端

[英]Win32 named pipes and remote clients

我可以從計算機B訪問計算機A的命名管道給定計算機A的IP地址嗎? 如果是這樣,我需要做些什么來實現這一目標?

是的,您可以通過命名管道在網絡上進行通信。 您指定管道名稱,如UNC路徑:

\\\\computername\\pipe\\pipename

或通過IP

\\\\192.168.0.100\\pipe\\pipename

您可以為任何LAN計算機或通過VPN連接到LAN的任何遠程計算機執行此操作。

您使用所有相同的管道Win32 API函數,如CreateFile 要創建管道,請使用CreateNamedPipe

在使用遠程管道之前,必須具有與遠程計算機的有效連接。 為此,您將使用類似WNetUseConnection的API。 或者,如果您的計算機位於同一個域中,或者具有相同的u / p,則根本不需要使用WNetUseConnection。

如果您將程序作為服務運行,則無法使用本地系統帳戶訪問LAN資源。 該服務必須配置另一個帳戶。

命名管道可用於在網絡上不同計算機上的進程之間提供IPC。 請參閱MSDN

如果您使用的是Windows XP SP2,Windows Server 2003 SP1和更高版本,則不要忘記啟用命名管道過濾。 請參考這里

請注意,Windows下的管道非常糟糕。 你需要很多關鍵細節才能完全正確,或者它們會奇怪地失敗並且文檔不是最新的。

如果可以,請使用套接字。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM