2009-04-05 27 views
9

コンピュータAのIPアドレスを指定して、コンピュータBからコンピュータAの名前付きパイプにアクセスできますか?もしそうなら、私はこれを実現させるために何をする必要がありますか?Win32名前付きパイプとリモートクライアント

+0

OS?どの言語を使用していますか? –

+0

Windows、C++。ごめんなさい! –

+0

WindowsとUnix/Linuxのルールは異なります。どのルールを知ることが常に重要です。 –

答えて

2

名前付きパイプを使用すると、ネットワーク上の異なるコンピュータ上のプロセス間でIPCを提供できます。 MSDNを参照してください。

Windows XP SP2、Windows Server 2003 SP1およびそれ以降のバージョンを使用している場合は、名前付きパイプのフィルタを有効にすることを忘れないでください。 hereを参照してください。

12

はい、名前付きパイプ経由でネットワーク経由で通信できます。あなたは、UNCパスのようなパイプ名を指定して:あなたは任意のLANのマシンのための、またはのためにこれを

\\computername\pipe\pipename

またはIP

\\192.168.0.100\pipe\pipename

を経由して行うことができますVPN経由でLANに接続されているリモートマシン。

CreateFileなどの同じパイプWin32 API関数をすべて使用します。パイプを作成するには、CreateNamedPipeを使用します。

リモートパイプを使用する前に、リモートコンピュータへの有効な接続が必要です。これを行うには、WNetUseConnectionのようなAPIを使用します。または、コンピュータが同じドメインにある場合、または同じu/pを持つ場合は、WNetUseConnectionをまったく使用する必要はありません。

プログラムをサービスとして実行している場合、ローカルシステムアカウントでLANリソースにアクセスすることはできません。サービスは別のアカウントで構成する必要があります。

+0

WNetUseConnectionは使用しないでください。ハンドルhtoken = NULL; \t LogonUser(L "username"、L "domain"、L "password"、9,3、&htoken); \t \t \t int ret = ImpersonateLoggedOnUser(htoken); – Bluebaron

+1

誰かが、物理的な接続レイヤーとしてWLANを使用してLinux上でどのように動作するか説明できますか? –

1

Windows上のパイプは血まみかっています。あなたが正確に正しいものを得るために必要な多くの重要な詳細があります。あるいは、それらが不思議に失敗し、ドキュメントが傷ついていないことがあります。

可能であれば、ソケットを使用してください。

関連する問題