2009-08-12 6 views
-1

VB.NETでtcpを使ってゲームをやりました。VB.NETでフリーズする

何が起こっているかは、たびたびメッセージをすぐに送ることができないため、TCPObj.connect()メソッドはループに入り、タイムアウトに達してからエラーを吐き出します。しかし、ほとんどの場合、エラーになることはありません。私のアプリケーションはフリーズし、TCPObj.connect()が成功した後に戻ってきます。接続しようとしている間に、connect()メソッドをapplication.doeventsにするにはどうしたらいいですか?基本的には、アプリケーション全体をフリーズする必要はありません。 tcp.connect()は.NETメソッドなので、私は入り込み、application.doeventsを追加することはできません。

答えて

1

別のスレッドでTCP接続コードを実行します。キューを使用して、UIから送信されるイベントを格納し、別のスレッドがそれらを取り出して処理するようにすることができます。

0

TCPへの接続を別のスレッドに入れます。 Asyncコールバックを使用してメインスレッドに戻ることができます。タイムアウトのために他のスレッドでエラーが発生した場合は、そのスレッドまたはメインスレッドで処理できます。

関連する問題