Jadual Kandungan
20.1     概述
20.2     网络控制器示意图
20.3     串口控制器示意图
20.4     设备驱动网络控制器分组示例代码
Rumah pembangunan bahagian belakang Tutorial C#.Net 网络通讯控制器分组,提高交互的负载平衡能力实例教程

网络通讯控制器分组,提高交互的负载平衡能力实例教程

Jun 23, 2017 pm 04:54 PM
Kumpulan pengawal komunikasi rangkaian

20.1     概述

     ServerSuperIO原来在网络通讯模式下,只有一个网络控制器,在自控模式、并发模式和单例模式下时都是异步处理返回的数据,并不会出现性能问题。但是在轮询模式下,一个网络控制器要按顺序逐一操作设备驱动的发送和接收,这样就会出现轮询周期过长,达不到读取数据频率的情况。

     为了解决上述问题,现在对设备驱动的参数增加了网络控制器分组功能,网络控制器会根据设备参数设置的分组名称控制设备驱动。例如轮询模式下,有1000个设备驱动,可以每10个设备驱动设置相同的分组名称,这10个设备驱动受控于同一个网络控制器,如果每间隔1s读取一次数据,那么每个设备驱动的轮询周期是10s钟,其他网络控制器类似。

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();
            }
        }
Salin selepas log masuk

 

Atas ialah kandungan terperinci 网络通讯控制器分组,提高交互的负载平衡能力实例教程. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Akan R.E.P.O. Ada Crossplay?
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Cara menentukur pengawal Xbox One anda dengan betul pada Windows 11 Cara menentukur pengawal Xbox One anda dengan betul pada Windows 11 Sep 21, 2023 pm 09:09 PM

Memandangkan Windows telah menjadi platform permainan pilihan, adalah lebih penting untuk mengenal pasti ciri berorientasikan permainannya. Salah satunya ialah keupayaan untuk menentukur pengawal Xbox One pada Windows 11. Dengan penentukuran manual terbina dalam, anda boleh menyingkirkan drift, pergerakan rawak atau isu prestasi dan menjajarkan paksi X, Y dan Z dengan berkesan. Jika pilihan yang tersedia tidak berfungsi, anda sentiasa boleh menggunakan alat penentukuran pengawal Xbox One pihak ketiga. Mari ketahui! Bagaimanakah cara saya menentukur pengawal Xbox saya pada Windows 11? Sebelum meneruskan, pastikan anda menyambungkan pengawal anda ke komputer anda dan kemas kini pemacu pengawal Xbox One anda. Semasa anda melakukannya, pasang juga sebarang kemas kini perisian tegar yang tersedia. 1. Gunakan Angin

Bagaimana untuk menggunakan rangka kerja CodeIgniter4 dalam php? Bagaimana untuk menggunakan rangka kerja CodeIgniter4 dalam php? May 31, 2023 pm 02:51 PM

PHP ialah bahasa pengaturcaraan yang sangat popular, dan CodeIgniter4 ialah rangka kerja PHP yang biasa digunakan. Apabila membangunkan aplikasi web, menggunakan rangka kerja sangat membantu Ia boleh mempercepatkan proses pembangunan, meningkatkan kualiti kod dan mengurangkan kos penyelenggaraan. Artikel ini akan memperkenalkan cara menggunakan rangka kerja CodeIgniter4. Pasang rangka kerja CodeIgniter4 Rangka kerja CodeIgniter4 boleh dimuat turun dari laman web rasmi (https://codeigniter.com/). Bawah

Belajar Laravel dari awal: Penjelasan terperinci tentang penggunaan kaedah pengawal Belajar Laravel dari awal: Penjelasan terperinci tentang penggunaan kaedah pengawal Mar 10, 2024 pm 05:03 PM

Belajar Laravel dari awal: Penjelasan terperinci tentang penggunaan kaedah pengawal Dalam pembangunan Laravel, pengawal adalah konsep yang sangat penting. Pengawal bertindak sebagai jambatan antara model dan pandangan, memproses permintaan daripada laluan dan mengembalikan data yang sepadan kepada paparan untuk paparan. Kaedah dalam pengawal boleh dipanggil melalui laluan Artikel ini akan memperkenalkan secara terperinci cara menulis dan memanggil kaedah dalam pengawal, dan akan memberikan contoh kod khusus. Pertama, kita perlu membuat pengawal. Anda boleh menggunakan alat baris arahan Artisan untuk membuat

Apakah pengawal laravel Apakah pengawal laravel Jan 14, 2023 am 11:16 AM

Dalam laravel, pengawal (Controller) ialah kelas yang digunakan untuk melaksanakan fungsi tertentu pengawal boleh menggabungkan logik pemprosesan permintaan yang berkaitan ke dalam kelas yang berasingan. Sesetengah kaedah disimpan dalam pengawal untuk melaksanakan fungsi tertentu Pengawal dipanggil melalui penghalaan, dan fungsi panggil balik tidak lagi digunakan dalam direktori "app/Http/Controllers".

Panduan Kajian Laravel: Amalan Terbaik untuk Panggilan Kaedah Pengawal Panduan Kajian Laravel: Amalan Terbaik untuk Panggilan Kaedah Pengawal Mar 11, 2024 am 08:27 AM

Dalam panduan pembelajaran Laravel, memanggil kaedah pengawal adalah topik yang sangat penting. Pengawal bertindak sebagai jambatan antara penghalaan dan model dan memainkan peranan penting dalam aplikasi. Artikel ini akan memperkenalkan amalan terbaik untuk panggilan kaedah pengawal dan menyediakan contoh kod khusus untuk membantu pembaca memahami dengan lebih baik. Mula-mula, mari kita fahami struktur asas kaedah pengawal. Dalam Laravel, kelas pengawal biasanya disimpan dalam direktori app/Http/Controllers Setiap kelas pengawal mengandungi berbilang

Bagaimana untuk melaksanakan pengumpulan data dan fungsi statistik dalam PHP Bagaimana untuk melaksanakan pengumpulan data dan fungsi statistik dalam PHP Sep 24, 2023 pm 01:39 PM

Bagaimana untuk melaksanakan fungsi pengumpulan data dan statistik dalam PHP Dalam proses pembangunan sebenar, kita sering menghadapi keperluan untuk mengumpulkan dan mengira data. Sama ada ia mengumpulkan statistik pada data dalam pangkalan data atau mengendalikan data dalam tatasusunan, PHP menyediakan pelbagai fungsi dan kaedah untuk memenuhi keperluan kita. Berikut akan menunjukkan cara mengumpulkan dan mengira pangkalan data dan data tatasusunan dalam PHP. Pengumpulan data dan statistik dalam pangkalan data Katakan kita mempunyai jadual prestasi pelajar dengan struktur jadual berikut: CREATETABLE`s

Cara menggunakan pengawal untuk mengendalikan permintaan Ajax dalam rangka kerja Yii Cara menggunakan pengawal untuk mengendalikan permintaan Ajax dalam rangka kerja Yii Jul 28, 2023 pm 07:37 PM

Dalam rangka kerja Yii, pengawal memainkan peranan penting dalam memproses permintaan. Selain mengendalikan permintaan halaman biasa, pengawal juga boleh digunakan untuk mengendalikan permintaan Ajax. Artikel ini akan memperkenalkan cara mengendalikan permintaan Ajax dalam rangka kerja Yii dan memberikan contoh kod. Dalam rangka kerja Yii, pemprosesan permintaan Ajax boleh dijalankan melalui langkah-langkah berikut: Langkah pertama ialah mencipta kelas pengawal (Pengawal). Anda boleh mewarisi kelas pengawal asas yiiwebCo yang disediakan oleh rangka kerja Yii

Bagaimana untuk menggunakan parameter pengawal dalam rangka kerja Symfony? Bagaimana untuk menggunakan parameter pengawal dalam rangka kerja Symfony? Jun 04, 2023 pm 03:40 PM

Rangka kerja Symfony ialah rangka kerja PHP popular yang direka berdasarkan seni bina MVC (Model-View-Controller). Dalam Symfony, pengawal adalah salah satu komponen utama yang bertanggungjawab untuk mengendalikan permintaan aplikasi web. Parameter dalam pengawal sangat berguna apabila memproses permintaan Artikel ini akan memperkenalkan cara menggunakan parameter pengawal dalam rangka kerja Symfony. Pengetahuan asas tentang parameter pengawal Parameter pengawal dihantar kepada pengawal melalui penghalaan. Penghalaan ialah pemetaan URI (Uniform Resource Identifiers) kepada pengawal dan

See all articles