2010-12-12 4 views
1

私はロギングアプリを作って、ただ物事を送りたいと思っています。今、私はHttpWebRequestとStreamを使って私のウェブサーバに投稿メッセージを送り、私は統計をオンラインで観察することができます。私はちょうどinternettにものを送信するのですか?

しかし、実際には、データの送信がタイムアウトし、Forms.Timerのティックアクションのようにアプリケーションが完全に消えてしまうことがよくあります。

ネットにものを送る別の方法がありますか?私は本当に気にしないで、応答を取得する場合、私はちょうど私のPHPスクリプトにデータをプッシュしたい:D

+2

あなたはそのようなエラーケースを処理する必要があると思います。あなたが外部サービスを利用しているときは、この種のことが間違っている可能性があります。 – Rup

+0

あなたのコードを投稿すれば、うまくいくはずです。 – thejh

+4

「私はちょうどインターネットに何かを送るのですか?」 SO memeでなければならない。 – Robaticus

答えて

2

UDPはそのために設計されています。パケットを失うか再注文することができ、サーバーからの応答は必要ありません。

しかし、PHPでUDPサーバーを作成できるかどうかわかりません。

代わりに、送信を行うスレッドがあります。そして、他のスレッドは、送信スレッドによって空にされたスレッドセーフキューにログエントリをエンキューするだけです。

+0

これです。 Httpは保証された配信プロトコルではなく、ストーリーの終わりです。 – annakata

+0

別のスレッドで実行するのが最善の方法だと思います – Jason94

1

あなたのWebサイトをホストすることができ、WinFormsクライアントから非同期あなたのデータを送信するwebservice、この方法は、アプリケーションがブロックされません。

関連する問題