目次
20.1 概要
20.2 ネットワークコントローラーの回路図
20.3 シリアルポートコントローラーの回路図
20.4 デバイスドライバーネットワークコントローラーグループ化サンプルコード
ホームページ バックエンド開発 C#.Net チュートリアル インタラクティブな負荷分散機能を向上させるためのネットワーク通信コントローラーのグループ化のサンプル チュートリアル

インタラクティブな負荷分散機能を向上させるためのネットワーク通信コントローラーのグループ化のサンプル チュートリアル

Jun 23, 2017 pm 04:54 PM
グループ コントローラ ネットワーク通信

20.1 概要

ServerSuperIO は元々、ネットワーク通信モードでネットワーク コントローラーを 1 つだけ備えていました。自動モード、同時モード、シングルトン モードでは、返されたデータは非同期で処理され、パフォーマンスの問題は発生しません。ただし、ポーリングモードでは、ネットワークコントローラがデバイスドライバの送受信を1つずつ順番に動作させる必要があるため、ポーリング周期が長すぎてデータの読み出し頻度に達しない場合があります。

上記の問題を解決するために、ネットワーク コントローラーのグループ化機能がデバイス ドライバーのパラメーターに追加され、ネットワーク コントローラーはデバイス パラメーターで設定されたグループ名に従ってデバイス ドライバーを制御します。たとえば、ポーリング モードでは、1000 個のデバイス ドライバがあり、10 個のデバイス ドライバごとに同じグループ名を設定できます。これらの 10 個のデバイス ドライバは、1 秒ごとにデータが読み取られる場合、各ポーリングが制御されます。デバイスドライバーの周期は10秒で、他のネットワークコントローラーと同様です。

20.2 ネットワークコントローラーの回路図

デバイスドライバーのネットワークパラメーターを設定するControllerGroupに従って、デバイスドライバーはさまざまなネットワーク制御で実行するように割り当てることができ、ポーリング、自動制御、同時実行およびシングルトン制御モードに適しています。 。

20.3 シリアルポートコントローラーの回路図

ちなみに、シリアルポートコントローラーは、デバイスドライバーのシリアルポート番号を設定することで、別のシリアルポートコントローラーに割り当てられます。 このコントローラーは、ポーリング制御モードでのみ使用できます。

20.4 デバイスドライバーネットワークコントローラーグループ化サンプルコード

        static void Main(string[] args)
        {
            string deviceID = "2";
            DeviceDriver dev3 = new DeviceDriver();
            dev3.DeviceParameter.DeviceName = "设备2";
            dev3.DeviceParameter.DeviceAddr = 0;
            dev3.DeviceParameter.DeviceID = deviceID;
            dev3.DeviceParameter.DeviceCode = deviceID;
            dev3.DeviceDynamic.DeviceID = deviceID;
            dev3.DeviceParameter.NET.RemoteIP = "127.0.0.1";
            dev3.DeviceParameter.NET.RemotePort = 9600;
            dev3.DeviceParameter.NET.ControllerGroup = "G2";
            dev3.CommunicateType = CommunicateType.NET;
            dev3.DeviceParameter.NET.WorkMode = WorkMode.TcpServer;
            dev3.Initialize(deviceID);
 
            deviceID = "3";
            DeviceDriver dev4 = new DeviceDriver();
            dev4.DeviceParameter.DeviceName = "设备3";
            dev4.DeviceParameter.DeviceAddr = 0;
            dev4.DeviceParameter.DeviceID = deviceID;
            dev4.DeviceParameter.DeviceCode = deviceID;
            dev4.DeviceDynamic.DeviceID = deviceID;
            dev4.DeviceParameter.NET.RemoteIP = "127.0.0.1";
            dev4.DeviceParameter.NET.RemotePort = 9600;
            dev4.DeviceParameter.NET.ControllerGroup = "G3";
            dev4.CommunicateType = CommunicateType.NET;
            dev4.Initialize(deviceID);

            IServer server = new ServerManager().CreateServer(new ServerConfig()
            {
                ServerName = "服务1",
                ComReadTimeout = 1000,
                ComWriteTimeout = 1000,
                NetReceiveTimeout = 1000,
                NetSendTimeout = 1000,
                ControlMode = ControlMode.Loop,
                SocketMode = SocketMode.Tcp,
                StartReceiveDataFliter = false,
                ClearSocketSession = true,
                StartCheckPackageLength = false,
                CheckSameSocketSession = false,
            });

            server.AddDeviceCompleted += server_AddDeviceCompleted;
            server.DeleteDeviceCompleted += server_DeleteDeviceCompleted;
            server.SocketConnected+=server_SocketConnected;
            server.SocketClosed+=server_SocketClosed;
            server.Start();
 
            server.AddDevice(dev3);
            server.AddDevice(dev4);
 
            while ("exit"==Console.ReadLine())
            {
                 server.Stop();
            }
        }
ログイン後にコピー

以上がインタラクティブな負荷分散機能を向上させるためのネットワーク通信コントローラーのグループ化のサンプル チュートリアルの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Windows 11 で Xbox One コントローラーを適切に調整する方法 Windows 11 で Xbox One コントローラーを適切に調整する方法 Sep 21, 2023 pm 09:09 PM

Windows がゲーム プラットフォームとして選ばれるようになったため、そのゲーム指向の機能を特定することがさらに重要になっています。その 1 つは、Windows 11 で Xbox One コントローラーを調整する機能です。組み込みの手動キャリブレーションを使用すると、ドリフト、ランダムな動き、またはパフォーマンスの問題を取り除き、X、Y、Z 軸を効果的に調整できます。利用可能なオプションが機能しない場合は、いつでもサードパーティの Xbox One コントローラー調整ツールを使用できます。確認してみましょう! Windows 11 で Xbox コントローラーを調整するにはどうすればよいですか?続行する前に、コントローラーをコンピューターに接続し、Xbox One コントローラーのドライバーを更新していることを確認してください。この作業中に、利用可能なファームウェアのアップデートもインストールします。 1. 風を利用する

PHPでCodeIgniter4フレームワークを使用するにはどうすればよいですか? PHPでCodeIgniter4フレームワークを使用するにはどうすればよいですか? May 31, 2023 pm 02:51 PM

PHP は非常に人気のあるプログラミング言語であり、CodeIgniter4 は一般的に使用される PHP フレームワークです。 Web アプリケーションを開発する場合、フレームワークを使用すると、開発プロセスのスピードアップ、コードの品質の向上、メンテナンス コストの削減が可能になり、非常に役立ちます。この記事ではCodeIgniter4フレームワークの使い方を紹介します。 CodeIgniter4 フレームワークのインストール CodeIgniter4 フレームワークは、公式 Web サイト (https://codeigniter.com/) からダウンロードできます。下

Laravelをゼロから学ぶ:コントローラーメソッド呼び出しの詳細説明 Laravelをゼロから学ぶ:コントローラーメソッド呼び出しの詳細説明 Mar 10, 2024 pm 05:03 PM

Laravelをゼロから学ぶ:コントローラーメソッド呼び出しの詳細解説 Laravelの開発において、コントローラーは非常に重要な概念です。コントローラーはモデルとビューの間のブリッジとして機能し、ルートからのリクエストを処理し、対応するデータを表示のためにビューに返す責任を負います。コントローラー内のメソッドはルートから呼び出すことができます。この記事では、コントローラー内のメソッドの記述方法と呼び出し方法を詳しく紹介し、具体的なコード例を示します。まず、コントローラーを作成する必要があります。 Artisan コマンド ライン ツールを使用して、

Laravelコントローラーとは何ですか Laravelコントローラーとは何ですか Jan 14, 2023 am 11:16 AM

laravel では、コントローラー (Controller) は特定の機能を実装するために使用されるクラスであり、コントローラーは関連するリクエスト処理ロジックを別のクラスに結合できます。一部のメソッドは、特定の機能を実装するためにコントローラーに保存されます。コントローラーはルーティングを通じて呼び出され、コールバック関数は使用されなくなり、コントローラーは「app/Http/Controllers」ディレクトリに保存されます。

Laravel スタディガイド: コントローラーメソッド呼び出しのベストプラクティス Laravel スタディガイド: コントローラーメソッド呼び出しのベストプラクティス Mar 11, 2024 am 08:27 AM

Laravel 学習ガイドでは、コントローラー メソッドの呼び出しは非常に重要なトピックです。コントローラーはルーティングとモデルの間のブリッジとして機能し、アプリケーションで重要な役割を果たします。この記事では、コントローラー メソッド呼び出しのベスト プラクティスを紹介し、読者の理解を助ける具体的なコード例を示します。まず、コントローラー メソッドの基本構造を理解しましょう。 Laravel では、コントローラー クラスは通常 app/Http/Controllers ディレクトリに保存され、各コントローラー クラスには複数のものが含まれます。

PHP でデータのグループ化と統計関数を実装する方法 PHP でデータのグループ化と統計関数を実装する方法 Sep 24, 2023 pm 01:39 PM

PHP でデータのグループ化と統計関数を実装する方法 実際の開発プロセスでは、データをグループ化してカウントする必要に遭遇することがよくあります。データベース内のデータの統計をグループ化する場合でも、配列内のデータを操作する場合でも、PHP はニーズを満たす豊富な関数とメソッドを提供します。以下では、PHP でデータベースと配列データをグループ化およびカウントする方法を示します。データベース内のデータのグループ化と統計 次のテーブル構造を持つ生徒の成績表があるとします。

Yii フレームワークでコントローラーを使用して Ajax リクエストを処理する方法 Yii フレームワークでコントローラーを使用して Ajax リクエストを処理する方法 Jul 28, 2023 pm 07:37 PM

Yii フレームワークでは、コントローラーはリクエストの処理において重要な役割を果たします。通常のページ リクエストの処理に加えて、コントローラーを使用して Ajax リクエストを処理することもできます。この記事では、Yii フレームワークで Ajax リクエストを処理する方法を紹介し、コード例を示します。 Yii フレームワークでは、Ajax リクエストの処理は次の手順で実行できます。 最初の手順は、コントローラー (Controller) クラスを作成することです。 Yii フレームワークが提供する基本コントローラークラス yiiwebCo を継承できます。

Symfony フレームワークでコントローラーのパラメーターを使用するにはどうすればよいですか? Symfony フレームワークでコントローラーのパラメーターを使用するにはどうすればよいですか? Jun 04, 2023 pm 03:40 PM

Symfony フレームワークは、MVC (Model-View-Controller) アーキテクチャに基づいて設計された人気のある PHP フレームワークです。 Symfony では、コントローラーは Web アプリケーションのリクエストの処理を担当する重要なコンポーネントの 1 つです。コントローラーのパラメーターはリクエストを処理するときに非常に便利です。この記事では、Symfony フレームワークでコントローラーのパラメーターを使用する方法を紹介します。コントローラー パラメーターの基礎知識 コントローラー パラメーターは、ルーティングを通じてコン​​トローラーに渡されます。ルーティングは、URI (Uniform Resource Identifier) をコントローラーにマッピングし、

See all articles