人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

Windowsには、Posixメッセージキューに相当するものは存在するのでしょうか?
Linuxで稼動中のシステムを、Windowsに移植する作業をしている時に、生じた疑問です。可能ならばサンプルプログラムの紹介をお願いします。

●質問者: lichten
●カテゴリ:コンピュータ
✍キーワード:Linux POSIX Windows キュー システム
○ 状態 :終了
└ 回答数 : 5/5件

▽最新の回答へ

1 ● kurukuru-neko
●20ポイント

=============================================

何種類か方法があります。

MailSlotが一番単純です。

http://msdn.microsoft.com/library/ja/default.asp?url=/library/ja...


MSDN JAPAN

http://msdn.microsoft.com/library/ja/default.asp?url=/library/ja...

一般的な資料ですが

SDCの会員限定ですが(無料)

Windows NTからSunへの移行ガイドがあります。

http://sdc.sun.co.jp/solaris/migration/ntmigration/index.html


2 ● kurukuru-neko
●20ポイント

イタリア語でですが。

サンプルソース有り

http://ftp.dis.uniroma1.it/pub/quaglia/scambiomessaggi.pdf

ロシア語ですが

サンプロソース有り

http://cs.pub.ro/~so/Laboratoare/lab05/ipc2.pdf

猫にでもわかるシリーズ

http://www.kumei.ne.jp/c_lang/sdk3/sdk_250.htm

http://www.kumei.ne.jp/c_lang/index_sdk3.html

◎質問者からの返答

メールスロットはネットワーク通信のためのもので、信頼性がなく、Windowsの設定によっては2回受信される「使えない」機能だと思っていたのですが、プロセス間通信にも使われるのですね。再考してみます……

質問が悪かったと思うのですが、Posixメッセージキューに相当するWindowsのサンプルソースだと嬉しいです。もしご存知でしたらお願いします。

ありがとうございました。


3 ● ma-kanoh
●20ポイント ベストアンサー

どれにしようかな。。。

メッセージキューに対応するOS機能は見かけ上たくさんあります。

使い勝手は代わり映えありませんが。

http://www7a.biglobe.ne.jp/~tsuneoka/win32sub/3.html

が昔のやつで。

http://www.kumei.ne.jp/c_lang/sdk3/sdk_247.htm

名前つきパイプだそうです。これがmsg系に近いかな?

http://www.vbstation.net/spec/S4.htm

メールスロットだそうです。

◎質問者からの返答

どれもクライアント-サーバー間の通信で、キューを使える機能を見つけられませんでした。

Windowsでメッセージ"キュー"を使うには、自作するしかないのでしょうか。


4 ● kurukuru-neko
●20ポイント

>メールスロットはネットワーク通信のためのもので、

>信頼性がなく、

>Windowsの設定によっては2回受信される「使えない」

>機能だと思っていたのですが、

>プロセス間通信にも使われるのですね。

ネットワーク上で使えば確かにそうなります。

ローカルで試しに実験してみると面白いですよ。


>Posixメッセージキュー

単に動作させていなら WIndows用

http://www.sixnine.net/cygwin/cygwin-doc/

を使えばどうですか。

ソースには、エミュレーションライブラリーも

あります。

http://www.jaist.ac.jp/~fujieda/cygwin/

http://cygwin-je.sourceforge.jp/cygwin_je/


◎質問者からの返答

>ローカルで試しに実験してみると面白いですよ。

なるほど…… MSDNで確認しつつ、検討します。

Posixメッセージキューは、Cygwinで実装されたのでしょうか? もし実装された時のリリースノート、もしくはAPIリファレンスへのリンクがありましたら、お願いします。


5 ● kurukuru-neko
●20ポイント

>Posixメッセージキュー

Posixは曖昧なのでメッセージキューは2種類

実装があります。

http://www.unix.org/

mq_xxxx : Message RealTime Extention

msgxxx: SYSTEM V IPC MESSAGE

mq_xxxxであればCygwinにはありません。

xsi SYSTEM V IPC(msgxxx)です。

>Cygwinで実装されたのでしょうか

CygWin用ヘッダー上あります。(SYSTEM V IPC)

ドキュメントはどうもメンテされていないようです。

http://www.cygwin.com/cygwin-ug-net/using-cygserver.html

http://www.sixnine.net/cygwin/translation/cygwin-ug-net/using-cy...

ほかの方法もありました。

===========================================

WindowsのPOSIXサブシステムを使う

Microsoftが提供する Service for Unix

(無料、ユーザ登録のみ)を利用する方法です。

http://www.microsoft.com/technet/interopmigration/unix/sfu/porta...

http://www.microsoft.com/technet/interopmigration/unix/sfu/pthre...

http://www.interopsystems.com/tools/default.aspx

http://www.forest.impress.co.jp/article/2004/01/16/servicesforun...

http://www.microsoft.com/technet/interopmigration/unix/sfu/defau...


===========================================

NuTCRACKER/MKS Toolkit を使う方法

http://www.nextcom.co.jp/products/manufacture/mks/product.htm

http://www.nextcom.co.jp/products/manufacture/mks/files/MKS_Tool...

http://www.nextcom.co.jp/products/manufacture/mks/product/comman...

◎質問者からの返答

ありがとうございました。

しかし後から検索する人のために、私の考えを書いておきます。Posixは曖昧ではないし、SystemV メッセージキューは、Posix メッセージキューとは違うものです。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ