C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[4]: TCP/IP 送受信の際のSOCKETの設定


(過去ログ 96 を表示中)

[トピック内 6 記事 (1 - 6 表示)]  << 0 >>

■57239 / inTopicNo.1)  TCP/IP 送受信の際のSOCKETの設定
  
□投稿者/ コアラ主任 (23回)-(2011/02/18(Fri) 13:55:48)

分類:[VB6 以前] 

VB6SP6 開発:WinXP 実行:WIN2000
通信関係のプログラム経験がなく、基本的な質問かと
思うのですが、ご教示いただきたく。
TCP/IP ノンブロッキングで送信後、すぐ、受信
したいのです。
当初、Winsockを使い、コーディングしていたのですが、
何が悪いのか、送受信できず、サンプルを見ながら、
APIで組みなおしました。
単独の送信、受信は、テスト環境を作りうまく行っています。
しかし、やりたいことは、サーバに送信後、すぐ、サーバから、
メッセージが返って来るのですが、それを受け取れません。
テスト環境(PC⇔PC)で、こちらから、送信し、受信したPCから
送信すると、送信の際のCONNECTがうまく、行っていないようです。
(受信を待つ側の)送信後のSOCKETは、CLOSEし、Listenして、
待っているだけで、良いのでしょうか。
Winsockを使うと、イベントで「Winsock1_ConnectionRequest」
が発生し、「Winsock1_DataArrival」のイベントが発生し、
Winsock1.GetDataでメッセージが受け取れるかと思うのですが、
APIの場合、どのタイミングで受信できるのか、どう準備すると
メッセージを受信できるのかが今一歩、よく、わからず。。。
言葉でも、具体的なコードでも、良いのでアドバイスを
いただければ、ありがたく。。。
よろしくお願いいたします。m(__)m 
引用返信 編集キー/
■57271 / inTopicNo.2)  Re[1]: TCP/IP 送受信の際のSOCKETの設定
□投稿者/ コアラ主任 (24回)-(2011/02/20(Sun) 14:57:44)
VB6で開発している人がもぅ居ないのか、
居ても、VB6でこのような処理をする人が
居ないのか・・・。
もしかして、質問内容が何を書いているのか
理解されなかった。。。(>_<)
作業的には、状況に変化無く、
引き続き、レスをお待ちしています。。。
m(__)m

引用返信 編集キー/
■57272 / inTopicNo.3)  Re[1]: TCP/IP 送受信の際のSOCKETの設定
□投稿者/ オショウ (578回)-(2011/02/20(Sun) 15:49:55)
> VB6SP6 開発:WinXP 実行:WIN2000


  今更VB6ですか・・・と言うことだと。

  ええ〜と、APIなら送信後に受信開始しても間に合いません。
  ノンブロッキングなら、非同期送受信の組み方をしないといけない
  ので、VB6でAPIの非同期送受信は結構難儀なので、ActiveX使った
  方が安全かと。

  どうしてもAPIと言うなら、送信する前に受信待ちさせておけば、
  送信後、相手PCからの返信が受信されます。

※ 既に.NETに移行して長いので、VB6は・・・結構忘れてます。

以上。参考まで
引用返信 編集キー/
■57273 / inTopicNo.4)  Re[2]: TCP/IP 送受信の際のSOCKETの設定
□投稿者/ コアラ主任 (25回)-(2011/02/20(Sun) 19:54:00)
ご返答ありがとうございます。

>   今更VB6ですか・・・と言うことだと。
現役バリバリのPGではなく、ロートルPGなもので・・・。

>   どうしてもAPIと言うなら、送信する前に受信待ちさせておけば、
>   送信後、相手PCからの返信が受信されます。
送信時のSOCKETは、BIND、CONNECT状態ですが、Listenしてても、
SENDって、できるんですかね・・・。
とにかく、送信前に受信のできる状態にしていないといけないん
ですね。
もぅ少し、試してみます、、、状況に変化が無いようであれば、
Winsock1に戻し、送受信できない原因を再調査してみます。
アドバイスありがとうございました。


No57272 (オショウ さん) に返信
>>VB6SP6 開発:WinXP 実行:WIN2000
>
>
>   今更VB6ですか・・・と言うことだと。
>
>   ええ〜と、APIなら送信後に受信開始しても間に合いません。
>   ノンブロッキングなら、非同期送受信の組み方をしないといけない
>   ので、VB6でAPIの非同期送受信は結構難儀なので、ActiveX使った
>   方が安全かと。
>
>   どうしてもAPIと言うなら、送信する前に受信待ちさせておけば、
>   送信後、相手PCからの返信が受信されます。
>
> ※ 既に.NETに移行して長いので、VB6は・・・結構忘れてます。
>
> 以上。参考まで
引用返信 編集キー/
■57274 / inTopicNo.5)  Re[3]: TCP/IP 送受信の際のSOCKETの設定
□投稿者/ shu (459回)-(2011/02/20(Sun) 22:51:23)
No57273 (コアラ主任 さん) に返信

こんなのありましたが、参考になりますか?
http://pcdn.int21.co.jp/pcdn/vb/noriolib/vbmag/9802/winsock/
引用返信 編集キー/
■57275 / inTopicNo.6)  Re[4]: TCP/IP 送受信の際のSOCKETの設定
□投稿者/ コアラ主任 (26回)-(2011/02/21(Mon) 01:13:25)
ご返答、ありがとうございます。

はい、まさにそれを参考に作っていました。。。
しかし、その通りにやってみているつもりなのですが、
何かが違うようです。
受信ができない、サンプルの受信のCASE文の処理が
行われないのです。。。
やはり、もぅ少し、じっくり、調査し直してみます。
情報提供、ありがとうございました。




No57274 (shu さん) に返信
> ■No57273 (コアラ主任 さん) に返信
>
> こんなのありましたが、参考になりますか?
> http://pcdn.int21.co.jp/pcdn/vb/noriolib/vbmag/9802/winsock/
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -