ページ 11

ソケットの非同期通信について

Posted: 2013年6月15日(土) 13:23
by RC
IRCクライアントを作成しようとしたのですが、同期通信ではこちらからの送信がままならないため、
MSDN
http://msdn.microsoft.com/ja-jp/library ... s.80).aspx
ヤフー
http://note.chiebukuro.yahoo.co.jp/detail/n26166
上記のサンプルを参考にしてみたものの、受信時にやたらと時間がかかり、
接続がタイムアウトしてします。
(MSDNのサンプルにいたっては最初の一回は同期通信のように固まってしまいます)
ソケット通信で非同期を扱うのは初めてなのですが、こういうものなのでしょうか?

Re: ソケットの非同期通信について

Posted: 2013年6月16日(日) 01:12
by YuO
RC さんが書きました:上記のサンプルを参考にしてみたものの、受信時にやたらと時間がかかり、
接続がタイムアウトしてします。
(MSDNのサンプルにいたっては最初の一回は同期通信のように固まってしまいます)
ネットワークアクセスを行うプログラムは,通常非同期接続するか別スレッドで同期接続をしていると思います。
なので,受信時に根本的に時間がかかることはないと思います。
# 接続後送信側が送信するまでに時間がかかっている可能性はある。

また,MSDNのサンプルは単純に「非同期通信機能を使ってみました」でしかありません。
Send/Receiveメソッド呼び出しの直後にWaitOneで送信/受信を待ってしまっています。

Re: ソケットの非同期通信について

Posted: 2013年6月16日(日) 01:24
by RC
YuO さんが書きました:MSDNのサンプルは単純に「非同期通信機能を使ってみました」でしかありません。
Send/Receiveメソッド呼び出しの直後にWaitOneで送信/受信を待ってしまっています。
なるほど、全く気づきませんでした…。
そこを念頭に置いてもう一度やり直してみます。