質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
VB.NET

Microsoft Visual Basic .NETのことで、Microsoft Visual Basic(VB6)の後継。 .NET環境向けのプログラムを開発することができます。 現在のVB.NETでは、.NET Frameworkを利用して開発を行うことが可能です。

Q&A

解決済

1回答

5162閲覧

IPCを使用して、サーバーで処理をさせて、クライアントで結果を受けたい

mlin

総合スコア24

VB.NET

Microsoft Visual Basic .NETのことで、Microsoft Visual Basic(VB6)の後継。 .NET環境向けのプログラムを開発することができます。 現在のVB.NETでは、.NET Frameworkを利用して開発を行うことが可能です。

0グッド

0クリップ

投稿2016/06/23 04:35

サーバーと言っても同一コンピュータ上でいいので、IPCというのでやるのが良さそうだと思いました。

以下を参考にして、一応動作させることが出来ました。

  1. http://drinking-masa.cocolog-nifty.com/blog/2010/10/vbnetipcnet-rem.html
  2. http://tech.ewdev.info/2014/05/1846/

ところが
1)ではサーバーはほとんど何もしておらず、接続するだけで、送った値が返ってくるというよりも
単にクラスライブラリ上で受けて返しているだけ、に見えます。

2)ではクライアントから送った値をサーバーに反映はしているものの、クライアントには何も反応しないサンプルでした。

さて、「クライアントで結果を受ける」ということを実装しようとして手が止まってしまいました。
これはどのようにすればよいのでしょうか・・・

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

昔々、UNIXでIPC(共有メモリ)を使ってCで実装をしたことがある経験を元に以下書かせて頂きます。

IPCはプロセス間通信ですので、クライアント、サーバという区別はありません。
共通のメモリ空間に対してデータを渡しあう事になりますので、通信する相手通しがお互いにその領域を見に行く必要があります。

ですので上の1)で言われている通り、

単にクラスライブラリ上で受けて返しているだけ、に見えます。

と言うのはその通りになります。
元々どのようなことを期待されていたでしょうか?

投稿2016/06/23 05:11

mryo0826

総合スコア77

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

mlin

2016/06/23 05:40

回答有り難うございます!! >クライアント、サーバという区別はありません。 ええ?!そうなのですか・・・ まずは簡単なことを考えてます。 例えば、クライアントで「10」を渡したら サーバーで「*10」つまり「=100」と計算して返す、というようなものです。 RaiseEventでサーバー上のメソッドを実行できるようですが、 これだと戻り値がないので、クライアントで受けることが出来ません。 サーバーからファイルに「100」と書き込んで、クライアントから読めば まあ、実現できますが、これだとプロセス間通信でやったことがキックしただけになってしまいます。 >共通のメモリ空間に対してデータを渡しあう事になりますので、通信する相手通しがお互いにその領域を見に行く必要があります ということですと、 クラスライブラリに10 をセットして RaiseEventでサーバー上のメソッドを実行し、セットされた10 を読み取る。 メソッドでは*10してクラスライブラリ上に 100をセット。 次にRaiseEventでクライアント上のメソッドを実行して、 セットされた100を読み取る・・・ という感じでしょうか・・・? 非同期な感じで扱いにくい感じがしますね・・。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問