2017年6月3日のブックマーク (3件)

  • C#で高速なTCPサーバを実装するためのasync/await入門 - Qiita

    速度を求めるなら非同期ソケット、開発のし易さならasync修飾子という使い分けが良さそうな結果です。 という訳でasyncについて使い方などを見ていきます async修飾子を使うと非同期処理が簡単 以下のコードは1秒間処理を遅延させるTask.Delay(1000)を合計100回実行していますが、処理は1秒足らずで終了し、計算結果も正しく表示されます。 2 従来でも ThreadPool.QueueUserWorkItem などを使えば時間のかかる処理をバックグラウンドに回すことは出来ましたが、この例の様に100個の非同期処理を「待ち合わせる」というのはここまで簡単には書けませんでした。 using System; using System.Linq; using System.Threading.Tasks; class Program { public static void Main

    C#で高速なTCPサーバを実装するためのasync/await入門 - Qiita
  • [C#] C#でJSONを扱う方法まとめ | DevelopersIO

    はじめに こんにちは!モバイルアプリサービス部の加藤です。 今回はC#でJSONを扱う方法について書いてみたいと思います。 C#でJSONを扱う方法はいろいろありますが、 DataContractJsonSerializer Json.NET DynamicJson あたりがよく知られたメジャーな方法だと思いますので、これらについてまとめてみたいと思います。 開発環境 Visual Studio for Mac Preview 1(7.0 build 347) .NETコンソールプロジェクト ターゲットフレームワーク Mono / .NET 4.5 DataContractJsonSerializer DataContractJsonSerializerとは .NET Frameworkで提供されている、オブジェクトをJSONにシリアライズ、JSONをオブジェクトにデシリアライズするための

    [C#] C#でJSONを扱う方法まとめ | DevelopersIO
  • C#による非同期ソケット通信

    非同期でソケット通信を行うためには、サーバの接続およびTCP/IPでの受信にスレッドを使います。TCP/IPでの送信については、送信要求があると即TCP/IPで送信するため、システムによって非同期にするか同期にするかが異なります。通常は、Windows Formでユーザインタフェースを作成します。この場合、Formと同じスレッドでソケット通信を行うと、Socket接続時および受信待ち時には、画面操作ができなくなります。このため、C#言語では、サーバ側ではSocketクラスのBeginAcceptメソッド、クライアント側ではBeginConnectメソッドを使用して、接続時の処理のために、Form処理がブロックされないように制御します。また、クライアントでサーバからのデータを受け取るときには、まずBeginReceiveメソッドを呼び出し、データの受信を開始します。Receiveメソッドでは