• ベストアンサー

Connectエラーが出てしまう・・・。

SpiralGalaxyの回答

回答No.2

MFCだったらおそらく CAsyncSocket で接続されているのだと思いますが、非ブロッキングソケットの場合は Connect を呼び出してもその時点では接続しない(接続するまで関数がブロックしない)のでこのWSAEWOULDBLOCKが返ってきます。 この場合WSAEWOULDBLOCKが返るのは正常な動作です。このエラーコードだけは無視すればいいです。そのうち接続結果が OnConnect() に返ってきますのでそこで接続結果を判断しましょう。 昔悩んだ記憶があります。(^^;

dole
質問者

補足

ありがとうございます。 しかし、なかなかOnConnect()に帰ってこないのですよね。。 同じマシン上でも理論上は可能ですよね??

関連するQ&A

  • Winsockプログラミング Connectのエラーについて

    お世話になっております。 現在、Windowsソケットプログラム(winsock1.1)により、P2Pでの非同期のTCP通信プログラムを組んでます。 そこで、クライアントからサーバーへの同時接続のチェックをするために以下のような処理を行っています。 #関係ありそうな情報のみ載せます。足りなければご質問下さい。 OSはWindowsXP HomeEditionです。 なお、OSによる同時接続制限はBiotというツールにより20000というふうに設定しております。 ・クライアント 1.ソケット3000個用意 2.for文ループ処理によりソケット数分Connectを実行 ・サーバー 1.listenの同時接続最大数は20000に設定 毎回Connect実行時、大体2000回目辺りからエラーが出てきます。 その後、イベントが返って来た時のエラーチェックでも、WSAECONNREFUSED(10061)で「サーバーにより接続が拒否された。」というエラーが検出されます。 結局、接続成功は500~700回ぐらいでした。 この現象に対する対処法や解決法はないでしょうか? 現状では、全てのConnect要求を成功できるようにしたいと思っております。 子プロセスを作成するような方法は時間が無いので考えておりません。 9/18にも同じようなしておりますが、前より詳細を書いて再投稿いたしました。 以上、よろしくお願い致します。

  • WinsockでConnect元を判断したい

    大変困っています。何か知恵を授けてください。 VC++.Net2005でソケット通信のサーバアプリを書いています。 ・サーバアプリのListenPortは1つです。 ・クライアントAからアプリA1、アプリA2がConnectしてきます。 ・アプリA1、アプリA2の起動順は不確定です。 上記の条件で、どちらのアプリからのConnect要求かを判断したいのですが 何か方法は無いでしょうか?

  • ソケットインタフェースに関して

    クライアント/サーバ間でTCP/IPソケットのプロトコルを使用してネットワークを構築しようとしています。 TCP/IPソケットで、最初のクライアントAからconnectされた状態でクライアントBから同一ポートにconnectされた場合、クライアントBからのconnectを有効にしたいと考えています。本場合、他のクライアントからconnectされたことがTCP/IP層で検知可能でしょうか?また、アプリケーション層での作りは、どのようにすればよいか知っている方教えて下さい。

  • Android Socket.connectエラー

    Androidでソケット通信するプログラムを作っています。 PC側がソケットサーバーをたてて(accept)、 Android側でクライアントとして接続(connect)するようにしています。 connectを実行している部分のソースは以下のようにしています。 ----------------- String ip = "192.168.XX.XX"; <-PCのIPアドレス int port = 9999; socket = new Socket(); InetSocketAddress addr = new InetSocketAddress(ip, port); try{ socket.connect(addr); return true; }catch(IOException e){ e.printStackTrace(); return false; } ------------------ 上記やり方でまずはエミュレータで試したところうまく行きました、その後 実機に入れて同じように実行したところconnectのところで例外が飛んできます。 メッセージは"no route to host"でした。 実は全く同じソースで以前は実機でもできていたはずなんですが、 最近試したところできなくなっているようでした。 Android端末はXperia Arcですが、OSを2.3.4にバージョンアップしたことくらいで 以前と特に変わったところはないと思うのですが 原因として何が考えられるでしょうか? よろしくおねがいします。

    • ベストアンサー
    • Java
  • ソケット通信で同時受信の制限?

    こんにちは。 早速ですが、ソケット通信について質問です。 複数クライアント(Win)からサーバ(UNIX)に対して、connect()し、サーバ側はaccept()したら、それぞれに対しfork()で子プロセスを作っています。 そこで、50台くらいのクライアントから一気にconnect()すると通信エラーとなってしまうのですが、なにか制限があるのでしょうか? connect()のタイミングをずらせば、それぞれのクライアントとサーバの子プロセスでやり取りができます。 一斉にconnect()される場合の通信エラーの原因や対処法などをご教授願います。 初歩的なことかもしれませんが・・・。 よろしくお願いいたします。

  • z-connectについて教えてください

    インターネット中に接続が切断されるトラブルが続いています。切断後、必ずネットワーク接続のところにz-connectという別の接続が作成されるのでおそらくこれが原因ではないかと思われます。 削除しても復活してくるのですがどうしたらよいでしょうか?

  • ネットワークアドレスが無効というエラー

    HolLineというアプリケーションを使っています。Server/Clientタイプのアプリケーションで、こちらはクライアントです。バージョンは1.7.2.1です。 今まで普通につながっていたのに、ある日突然接続しようとすると「ネットワークアドレスが無効です」というエラーがでて、つながりません。 エラー前後で特に何かをインストールしたり削除した覚えはありません。 ネットワークアドレスとは何でしょうか?無効/有効の切り替えはどこでできるのでしょうか? サーバー側が悪いのかもしれないのですが、こちらが悪いかもしれません。 OS9.2.1 G4350MHzを使っています。局所的な質問で恐縮ですがよろしくお願いします。

    • ベストアンサー
    • Mac
  • java socketエラーについて

    javaでソケット接続するプログラムを作成しています。ソケット接続の以下のエラーがたまに発生するのですが、このエラーが出た際、回避方法がわかりません。どのようにしたら再度ソケット接続を行なえるのでしょうか? 以下エラー内容です。 java.net.ConnectException: failed to connect to /192.168.10.12 (port 50000): connect failed: ENOBUFS (No buffer space available) お詳しい方、よろしくお願いします!

    • ベストアンサー
    • Java
  • ネットワーク上のサーバーの空き容量取得

    VC++を使用して、ネットワーク上のサーバ(Linax)へFTPでファイルを転送するアプリケーションを作成しているのですが、転送する時にサーバの空き容量を取得し、表示したいのですが、実現できず困っております。 どうかご教示お願いいたします。 クライアントPC環境:WinXp Pro

  • VC++でのTCP/IP接続プログラム

    こんにちは。 VC++で開発を行っています。 TCP/IP接続(ストリーム型)のプログラムがうまく書けません。 UDP/IP接続は出来たのですが・・・。 TCP/IP接続で、送受信可能なプログラムを作りたいと思っています。 一つのアプリケーションで、サーバーとクライアントの役割を持たせたいのですが・・・。 不可能でしょうか?? VC++でTCP/IPを利用したプログラムのサンプルでも構いません。 なにか情報をお持ちの方、教えてください。 よろしくお願いします。