• ベストアンサー

ネームドパイプ(名前付きパイプ)について

仕事で「ネームドパイプ」という通信方法でPC間のデータのやり取りを行うシステムについて開発することになりました。簡単なプログラムサンプル等が紹介されているHPがあれば教えていただけないですか?OSはXPと2000サーバです。言語は恐らくC(vc++)となります。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

簡単なサンプルということで --------- 0. パイプの名前を決める #define PIPE_NAME "\\\\.\\pipe\\foobar" 1.パイプを作る m_pipe = NULL; m_pipe = CreateNamedPipe (PIPE_NAME, PIPE_ACCESS_DUPLEX | FILE_FLAG_WRITE_THROUGH, PIPE_TYPE_MESSAGE | PIPE_READMODE_MESSAGE | PIPE_WAIT, PIPE_UNLIMITED_INSTANCES, BLOCKSIZE, BLOCKSIZE, WAITTIME, NULL); 2-a.サーバ側 if (!ConnectNamedPipe (m_pipe, NULL)) { return false; } 2-a-1.データ読み込み DWORD count = 0; if (ReadFile(m_pipe, buffer, BLOCKSIZE, &count, 0) == NULL) return true; 2-a-2.クローズ if (m_pipe != NULL && m_pipe != INVALID_HANDLE_VALUE) { DisconnectNamedPipe (m_pipe); } 2-b.クライアント側 データを送信する DWORD size = 0; char* buffer; // データを送るバッファアドレス if (!CallNamedPipe (PIPE_NAME, buffer, BLOCKSIZE, 0, 0, &size, NMPWAIT_USE_DEFAULT_WAIT)) return false; --------------------

その他の回答 (1)

  • AnalHare
  • ベストアンサー率8% (9/110)
回答No.1

猫でもわかるとかマイクロソフトMSDNサイトですが 書籍のやつが完璧で詳しいです。

関連するQ&A