2012-01-10 19 views
0

私はboost :: asioからチャットサーバーのサンプルをコンパイルして実行しましたが、いくつか問題があります。クライアントは問題なくサーバに接続できますが、テキストが入力されるとサーバに送信されません。実際にはデータが受信されないことを除いて、おそらく1/10のメッセージがサーバーによって検出されます。Boost :: Asio Chat Server-Client Failure

アイデア?コードを逐語的にコピーしました(名前を変更することにはいくつか例外がありますが、サーバーは1つしかありません)。

+0

あなたのコード、特にあなたが変更したものを投稿してください。 –

答えて

0

コードをデバッグする必要があります。クライアント上のさまざまなハンドラにブレークポイントを置くことができます。これを行うには、コードの非同期フローを理解すると便利です(つまり、クライアント上でhandle_connectが呼び出される最初の非同期ハンドラになります)。

クライアントでhandle_connectを実行すると、ソケットは正常に接続されています。同様にhandle_writeは、非同期書き込み操作の結果を通知します。

同様に、クライアントが接続すると、同様にサーバ上のhandle_acceptが呼び出されます。

代わりに、printfをasioコードに追加して、実行中のものと実行されていないものを確認します。

P.S.私はあなたがクライアントからメッセージを送信するために入力したと仮定していますか?

関連する問題