重慶分公司,新征程啟航
為企業提供網站建設、域名注冊、服務器等服務
為企業提供網站建設、域名注冊、服務器等服務
這篇文章主要介紹“ServerSuperIO單例通訊模式開發的方法是什么”,在日常操作中,相信很多人在ServerSuperIO單例通訊模式開發的方法是什么問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”ServerSuperIO單例通訊模式開發的方法是什么”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
為敦煌等地區用戶提供了全套網頁設計制作服務,及敦煌網站建設行業解決方案。主營業務為網站設計制作、網站設計、敦煌網站設計,以傳統方式定制建設網站,并提供域名空間備案等一條龍服務,秉承以專業、用心的態度為用戶提供真誠的服務。我們深信只要達到每一位用戶的要求,就會得到認可,從而選擇與我們長期合作。這樣,我們也可以走得更遠!
單例通訊模式只適用于網絡通訊,并且只能增加一個“設備驅動”,這里“設備驅動”是邏輯概念,代表了所有設備或傳感器,也就是說所有接到的數據全部分發給這個“設備驅動”。
只有網絡通訊時可以使用這種控制模式。在一個服務實例內只能有一個設備驅動,相當于一個設備驅動對應著N多個硬件設備終端。更適合通訊的數據協議有固定的標準,以命令關鍵字處理不同的數據。適用于高并發的硬件終端設備主動上傳數據,服務器端根據數據信息進行處理和返回相應的數據。
通訊結構如下圖:
單例模式的設備驅動開發更簡單,如果業務不復雜,那么只涉及到初始化參數、實時數據、協議,以及數據的處理邏輯,更高級的應用會涉及到協議數據過濾(IReceiveFilter接口)、數據轉發(IService接口)、數據視圖展示(IGraphicsShow接口)等,將在后續的文章中逐一進行介紹。
sta
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | static
void
Main(
string
[] args) {
//55 AA 00 61 43 7A 00 00 43 B4 15 0D
DeviceSingletonDriver dev1 =
new
DeviceSingletonDriver();
dev1.DeviceParameter.DeviceName =
"網絡設備"
;
dev1.DeviceParameter.DeviceAddr = 0;
dev1.DeviceParameter.DeviceID =
"0"
;
dev1.DeviceDynamic.DeviceID =
"0"
;
dev1.DeviceParameter.DeviceCode =
"0"
;
dev1.DeviceParameter.NET.RemoteIP =
"127.0.0.1"
;
dev1.DeviceParameter.NET.RemotePort = 9600;
dev1.CommunicateType = CommunicateType.NET;
dev1.Initialize(
"0"
);
IServer server =
new
ServerManager().CreateServer(
new
ServerConfig()
{
ServerName =
"單例服務"
,
NetReceiveBufferSize = 1024,
ControlMode = ControlMode.Singleton,
MaxConnects = 4000
});
server.AddDeviceCompleted += server_AddDeviceCompleted;
server.DeleteDeviceCompleted += server_DeleteDeviceCompleted;
server.SocketConnected+=server_SocketConnected;
server.SocketClosed+=server_SocketClosed;
server.Start();
server.AddDevice(dev1);
while
(
"exit"
== Console.ReadLine())
{
server.Stop();
} } |
ControlMode = ControlMode.Singleton設置成單位模式就可以了。
在本機跑過10000萬個并發連接,用的jmeter,jmeter占用了1.4G左右的內存、90%多的CPU,我也不知道為什么這么耗資源,筆記本勉強還能工作。
現在模擬的是15個客戶端,100毫秒發送一次數據,效果如下:
圖片
到此,關于“ServerSuperIO單例通訊模式開發的方法是什么”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注創新互聯網站,小編會繼續努力為大家帶來更多實用的文章!