- ベストアンサー
vb2010でソケット通信を使いたいのですが
はじめまして。 vb2010でソケット通信を使いたくて、今TCPサーバーを作っています。 クライアント側から受信した瞬間にサーバー側から返信というのは可能でしょうか。 受信したタイミングで接続が切れてしまって困っています。 初めてソケット通信に触れてイマイチ分かってないので説明がうまくいきませんが、 どなたかわかる方がいらっしゃいましたらご回答よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
はじめまして。 vb2010でソケット通信を使いたくて、今TCPサーバーを作っています。 クライアント側から受信した瞬間にサーバー側から返信というのは可能でしょうか。 受信したタイミングで接続が切れてしまって困っています。 初めてソケット通信に触れてイマイチ分かってないので説明がうまくいきませんが、 どなたかわかる方がいらっしゃいましたらご回答よろしくお願いします。 まずは、自分で投稿した質問内容を読み返して見てください。 恐らく質問を読んだ人は ・vb2010でソケット通信をしようとしている事 ・サーバ接続後に切断されてしまう事 ・本当はサーバ→クライアント側への返信を返したい事 ・しかしうまく実現出来ていないという事 がわかりますが、、、 ただ単に 「サーバー側から返信というのは可能でしょうか?」 というだけの質問であるならば「可能」ですと答えるだけです。 「なぜ、切れてしまうか?」 という原因を究明したいのであれば、現在のプログラムがどのように出来ているのかがわからない限り、誰にも答えようがないと思います。 ですのでとりあえず、 http://dobon.net/vb/dotnet/internet/tcpclientserver.html とURLを残しておきます。
その他の回答 (1)
- lv4u
- ベストアンサー率27% (1862/6715)
>>受信したタイミングで接続が切れてしまって困っています。 VB2010は知りませんが、TCP関係のソフトはC言語で作ったことあります。 たぶん、ソケット通信のことが理解できてないので、正しくプログラムが作られていないのだと思います。 ソケット通信関係の書籍を読まれて、十分に理解されれば、うまくいくようになるのではないでしょうか?
お礼
ありがとうございます。 やっと接続に成功しました。
補足
すいません、僕の知識不足で説明もうまくいってないですが原因がわかったかもしれません。 今つくろうとしている物はFlashPlayerと接続するので http://d.hatena.ne.jp/viver/20080421/ ここにあるように<cross-domain-policy><allow-access-from domain="*" to-ports="*"/></cross-domain-policy>\0を送信するようにしたのですがやはり繋がりません。 試した方法は頂いたコードの Dim sendMsg As String = resMsg.Length.ToString() を Dim sendMsg As String = "<cross-domain-policy><allow-access-from domain=""*"" to-ports=""*"" /></cross-domain-policy>\0" に変更してみました。 何かしないといけない手順みたいなのは他にあるのでしょうか... consoleにresmsgを表示させると Listenを開始しました(127.0.0.1:8888)。 クライアント(127.0.0.1:58215)と接続しました。 <policy-file-request/> で止まります。 resmsgをconsoleに表示させない場合は Listenを開始しました(127.0.0.1:8888)。 クライアント(127.0.0.1:58328)と接続しました。 <cross-domain-policy><allow-access-from domain="*" to-ports="*" /></cross-domain-policy>\0 クライアントとの接続を閉じました。 Listenerを閉じました。 と最後まで行くので、試しにコードで言う「'閉じる」より下の部分をなしでやってみたところ やっぱり接続ができません。 何か間違っているところがあるのでしょうか。 説明が長文でヘタクソですが何かヒントをいただけるとありがたいです。