0

私は現在、オールインワンのピアツーピア「チャット」プログラムを作成しました。現在、タイマーを使用してメッセージを受信し、クライアントを使用してプログラムを実行している他の人にメッセージを送信します。このシステム全体を非同期にしたいので、メインの実行可能ファイルがフリーズするなどの苦情を受けるのをやめます。

すべてのコード (VB.net) をここに貼り付けました: http://pastebin.com/EcrtCgVc

このシステムを高速化、非同期化、またはより良くするために誰かが私を助けてくれませんか?

完全なソースのドロップボックスへのリンクが必要な場合は、これも提供できます。

4

2 に答える 2

-1

あなたのコードを見なくても、私はソケットプログラミングにも取り組んでいます。「GUI コードとビジネス コードを混在させないでください。」jgauffin が言ったように、バックグラウンドで実行されるコードを GUI と組み合わせるべきではありません。

たとえば、ソケットを使用してデータまたは接続を受け入れる場合、そのメソッドを新しいスレッドで実行する必要があります。例...

Public Sub YourMainSub()
    Dim threadOne As New System.Threading.Thread(AddressOf ListenCode)
    threadOne.Start()
    'Put other code here.....
End Sub
Public Sub ListenCode()
    Dim newPerson = yourServer.Accept()
    'Or
    Dim newData = yourServer.Receive()
End Sub

コードが正しくない場合は申し訳ありません。記憶でタイプしました。

于 2013-03-08T19:56:40.313 に答える