|
分類:[C/C++]
初めまして、macochin と申します。
現在、旅行会社や駅の窓口の方が使用するような窓口端末の開発を行っております。 私の担当はその端末ではなく、端末が接続するサーバ側の動作をPC上でエミュレートするソフトの開発を行っております。 (端末をローカル環境でテストするために使用しています)
端末⇔サーバ間はTCP/IPで通信を行っておりますが、 私が担当しているエミュレートソフトは MFC の CAsyncSocket を使用して実装しています。
CAsyncSocket を使用しているので OnReceive メソッド内で受信処理を行っているのですが、 突然 OnReceive メソッドが呼ばれなくなる現象が発生してしまいます。 そうなると一切の受信処理ができなくなってしまい困っています。 (OnClose などのイベントは呼ばれるのですが、何故か OnReceive だけ呼ばれない...)
以下、その時に確認した内容です。 ・パケットキャプチャで確認したところパケット自体はPCまで来ている ・OnReceive メソッド内では recv メソッドは1度のみ使用している ・データの send はできる ・OnClose や OnAccept などは呼ばれる
以下、開発環境です。 ・Windows Vista Business ・Visual Studio 2005 VC++(MFC) ・OpenSSL(暗号化してもしなくても発生する)
宜しくお願い致します。
|