日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > 通信技術(shù) > 通信網(wǎng)絡(luò)
[導(dǎo)讀] CGI CGI即通用網(wǎng)關(guān)接口(Common Gateway Interface),是外部應(yīng)用程序(CGI程序)與Web服務(wù)器之間的接口標(biāo)準(zhǔn),是在CGI程序和Web服務(wù)器之間傳遞信息的規(guī)程

CGI

CGI即通用網(wǎng)關(guān)接口(Common Gateway Interface),是外部應(yīng)用程序(CGI程序)與Web服務(wù)器之間的接口標(biāo)準(zhǔn),是在CGI程序和Web服務(wù)器之間傳遞信息的規(guī)程。CGI規(guī)范允許Web服務(wù)器執(zhí)行外部程序,并將它們的輸出發(fā)送給Web瀏覽器,CGI將Web的一組簡單的靜態(tài)超媒體文檔變成一個完整的新的交互式媒體。通俗的講CGI就像是一座橋,把網(wǎng)頁和WEB服務(wù)器中的執(zhí)行程序連接起來,它把HTML接收的指令傳遞給服務(wù)器的執(zhí)行程序,再把服務(wù)器執(zhí)行程序的結(jié)果返還給HTML頁。CGI 的跨平臺性能極佳,幾乎可以在任何操作系統(tǒng)上實現(xiàn)。

CGI方式在遇到連接請求(用戶請求)先要創(chuàng)建cgi的子進程,激活一個CGI進程,然后處理請求,處理完后結(jié)束這個子進程。這就是fork-and-execute模式。所以用cgi方式的服務(wù)器有多少連接請求就會有多少cgi子進程,子進程反復(fù)加載是cgi性能低下的主要原因。當(dāng)用戶請求數(shù)量非常多時,會大量擠占系統(tǒng)的資源如內(nèi)存,CPU時間等,造成效能低下。

CGI腳本工作流程:

● 瀏覽器通過HTML表單或超鏈接請求指向一個CGI應(yīng)用程序的URL。

● 服務(wù)器收發(fā)到請求。

● 服務(wù)器執(zhí)行所指定的CGI應(yīng)用程序。

● CGI應(yīng)用程序執(zhí)行所需要的操作,通常是基于瀏覽者輸入的內(nèi)容。

● CGI應(yīng)用程序把結(jié)果格式化為網(wǎng)絡(luò)服務(wù)器和瀏覽器能夠理解的文檔(通常是HTML網(wǎng)頁)。

● 網(wǎng)絡(luò)服務(wù)器把結(jié)果返回到瀏覽器中。

FastCGI

FastCGI是一個可伸縮地、高速地在HTTP server和動態(tài)腳本語言間通信的接口。多數(shù)流行的HTTP server都支持FastCGI,包括Apache、Nginx和lighttpd等,同時,F(xiàn)astCGI也被許多腳本語言所支持,其中就有PHP。

FastCGI是從CGI發(fā)展改進而來的。傳統(tǒng)CGI接口方式的主要缺點是性能很差,因為每次HTTP服務(wù)器遇到動態(tài)程序時都需要重新啟動腳本解析器來執(zhí)行解析,然后結(jié)果被返回給HTTP服務(wù)器。這在處理高并發(fā)訪問時,幾乎是不可用的。FastCGI像是一個常駐(long-live)型的CGI,它可以一直執(zhí)行著,只要激活后,不會每次都要花費時間去fork一次(這是CGI最為人詬病的fork-and-execute 模式)。CGI 就是所謂的短生存期應(yīng)用程序,F(xiàn)astCGI 就是所謂的長生存期應(yīng)用程序。由于 FastCGI 程序并不需要不斷的產(chǎn)生新進程,可以大大降低服務(wù)器的壓力并且產(chǎn)生較高的應(yīng)用效率。它的速度效率最少要比CGI 技術(shù)提高 5 倍以上。它還支持分布式的運算, 即 FastCGI 程序可以在網(wǎng)站服務(wù)器以外的主機上執(zhí)行并且接受來自其它網(wǎng)站服務(wù)器來的請求。

FastCGI是語言無關(guān)的、可伸縮架構(gòu)的CGI開放擴展,其主要行為是將CGI解釋器進程保持在內(nèi)存中并因此獲得較高的性能。眾所周知,CGI解釋器的反復(fù)加載是CGI性能低下的主要原因,如果CGI解釋器保持在內(nèi)存中并接受FastCGI進程管理器調(diào)度,則可以提供良好的性能、伸縮性、Fail-Over特性等等。FastCGI接口方式采用C/S結(jié)構(gòu),可以將HTTP服務(wù)器和腳本解析服務(wù)器分開,同時在腳本解析服務(wù)器上啟動一個或者多個腳本解析守護進程。當(dāng)HTTP服務(wù)器每次遇到動態(tài)程序時,可以將其直接交付給FastCGI進程來執(zhí)行,然后將得到的結(jié)果返回給瀏覽器。這種方式可以讓HTTP服務(wù)器專一地處理靜態(tài)請求或者將動態(tài)腳本服務(wù)器的結(jié)果返回給客戶端,這在很大程度上提高了整個應(yīng)用系統(tǒng)的性能。

FastCGI的工作流程:

● Web Server啟動時載入FastCGI進程管理器(PHP-CGI或者PHP-FPM或者spawn-cgi)

● FastCGI進程管理器自身初始化,啟動多個CGI解釋器進程(可見多個php-cgi)并等待來自Web Server的連接。

● 當(dāng)客戶端請求到達Web Server時,F(xiàn)astCGI進程管理器選擇并連接到一個CGI解釋器。Web server將CGI環(huán)境變量和標(biāo)準(zhǔn)輸入發(fā)送到FastCGI子進程php-cgi。

● FastCGI子進程完成處理后將標(biāo)準(zhǔn)輸出和錯誤信息從同一連接返回Web Server。當(dāng)FastCGI子進程關(guān)閉連接時,請求便告處理完成。FastCGI子進程接著等待并處理來自FastCGI進程管理器(運行在Web Server中)的下一個連接。在CGI模式中,php-cgi在此便退出。

FastCGI 的特點

打破傳統(tǒng)頁面處理技術(shù)。傳統(tǒng)的頁面處理技術(shù),程序必須與 Web 服務(wù)器或 Application 服務(wù)器處于同一臺服務(wù)器中。這種歷史已經(jīng)早N年被FastCGI技術(shù)所打破,F(xiàn)astCGI技術(shù)的應(yīng)用程序可以被安裝在服務(wù)器群中的任何一臺服務(wù)器,而通過 TCP/IP協(xié)議與 Web 服務(wù)器通訊,這樣做既適合開發(fā)大型分布式 Web 群,也適合高效數(shù)據(jù)庫控制。

明確的請求模式。CGI 技術(shù)沒有一個明確的角色,在 FastCGI 程序中,程序被賦予明確的角色(響應(yīng)器角色、認(rèn)證器角色、過濾器角色)。

ISAPI

ISAPI(Internet Server ApplicaTIon Program Interface)是微軟提供的一套面向WEB服務(wù)的API接口,它能實現(xiàn)CGI提供的全部功能,并在此基礎(chǔ)上進行了擴展,如提供了過濾器應(yīng)用程序接口。ISAPI應(yīng)用大多數(shù)以DLL動態(tài)庫的形式使用,可以在被用戶請求后執(zhí)行,在處理完一個用戶請求后不會馬上消失,而是繼續(xù)駐留在內(nèi)存中等待處理別的用戶輸入。此外,ISAPI的DLL應(yīng)用程序和WEB服務(wù)器處于同一個進程中,效率要顯著高于CGI。(由于微軟的排他性,只能運行于windows環(huán)境)

ISAPI服務(wù)器擴展為使用 Internet 服務(wù)器的通用網(wǎng)關(guān)接口(CGI) 應(yīng)用程序提供了另一種選擇。與 CGI 應(yīng)用程序不同,ISA 在 HTTP服務(wù)器所在的同一地址空間運行,并且可以訪問可由 HTTP 服務(wù)器使用的所有資源。ISA 的系統(tǒng)開銷比 CGI 應(yīng)用程序低,因為它們不要求創(chuàng)建其他進程,也不執(zhí)行需要越過進程邊界的通信,而這種通信非常耗時。如果內(nèi)存被其他進程所需要,擴展和篩選器DLL 都可能被卸載。ISAPI 允許在一個 DLL 中有多個命令,這些命令作為 DLL 中CHttpServer對象的成員函數(shù)來實現(xiàn)。CGI 要求每個任務(wù)有一個單獨的名稱和一個到單獨的可執(zhí)行文件的 URL 映射。每個新的 CGI 請求啟動一個新進程,而每個不同的請求包含在各自的可執(zhí)行文件中,這些文件根據(jù)每個請求加載和卸載,因此系統(tǒng)開銷高于 ISA。

PHP-CGI

PHP-CGI是PHP自帶的FastCGI管理器。PHP-CGI的不足:

● php-cgi變更php.ini配置后需重啟php-cgi才能讓新的php-ini生效,不可以平滑重啟

● 直接殺死php-cgi進程php就不能運行了。(PHP-FPM和Spawn-FCGI就沒有這個問題,守護進程會平滑從新生成新的子進程。)

Spawn-FCGI

Spawn-FCGI是一個通用的FastCGI管理服務(wù)器,它是lighttpd中的一部份,很多人都用Lighttpd的Spawn-FCGI進行FastCGI模式下的管理工作,不過有不少缺點。而PHP-FPM的出現(xiàn)多少緩解了一些問題,但PHP-FPM有個缺點就是要重新編譯,這對于一些已經(jīng)運行的環(huán)境可能有不小的風(fēng)險),在php 5.3.3中可以直接使用PHP-FPM了。Spawn-FCGI的代碼很少,全部才630行,用c語言編寫,最近一次提交是5年前。代碼主頁:https://github.com/lighttpd/spawn-fcgi

Spawn-FCGI代碼分析如下:

spawn-fcgi 首先create socket,bind,listen 3步創(chuàng)建服務(wù)器socket,(把這個socket叫做 fcgi_fd)

用dup2,把fcgi_fd 交換給 FCGI_LISTENSOCK_FILENO (FCGI_LISTENSOCK_FILENO數(shù)值上等于0,這是fastcgi協(xié)議當(dāng)中指定用來listen的socket id)

● 執(zhí)行execl ,replaces the current process image with a new process image. process image 進程在運行空間的代碼段

很顯然,Spawn-FCGI也是 pre-fork 模型,只是用了上古C語言編寫,充滿了N多unix下暗黑編程技巧。

Spawn-FCGI功能很單一:

● 只管fork進程,子進程掛了,主進程僅僅log記錄一次,根本不會重新fork。在2009年一段時間內(nèi),我曾經(jīng)用spawn-fcgi部署php-cgi,當(dāng)跑一段時間就會全掛掉,只能用crontab定時重啟spawn-fcgi

● 不負(fù)責(zé)子進程中的網(wǎng)絡(luò)IO,把socket放到指定位置就完了,接下來的事情由被spawn的程序處理

Spawn-FCGI是一個很早期的程序,瞻仰一下即可。另外有:1996年的一段代碼:http://www.fastcgi.com/om_archive/kit/cgi-fcgi/cgi-fcgi.c,和spawn-fcgi一個風(fēng)格

PHP-FPM

PHP-FPM是一個PHP FastCGI管理器,是只用于PHP的,可以在 http://php-fpm.org/download下載得到。PHP-FPM其實是PHP源代碼的一個補丁,旨在將FastCGI進程管理整合進PHP包中。必須將它patch到你的PHP源代碼中,在編譯安裝PHP后才可以使用。FPM(FastCGI 進程管理器)用于替換 PHP-CGI 的大部分附加功能,對于高負(fù)載網(wǎng)站是非常有用的。它的功能包括:

● 支持平滑停止/啟動的高級進程管理功能;

● 可以工作于不同的 uid/gid/chroot 環(huán)境下,并監(jiān)聽不同的端口和使用不同的 php.ini 配置文件(可取代 safe_mode 的設(shè)置);

● stdout 和 stderr 日志記錄;

● 在發(fā)生意外情況的時候能夠重新啟動并緩存被破壞的 opcode;

● 文件上傳優(yōu)化支持;

● “慢日志” - 記錄腳本(不僅記錄文件名,還記錄 PHP backtrace 信息,可以使用 ptrace或者類似工具讀取和分析遠(yuǎn)程進程的運行數(shù)據(jù))運行所導(dǎo)致的異常緩慢;

● fastcgi_finish_request() - 特殊功能:用于在請求完成和刷新數(shù)據(jù)后,繼續(xù)在后臺執(zhí)行耗時的工作(錄入視頻轉(zhuǎn)換、統(tǒng)計處理等);

● 動態(tài)/靜態(tài)子進程產(chǎn)生;

● 基本 SAPI 運行狀態(tài)信息(類似Apache的 mod_status);

● 基于 php.ini 的配置文件。

WSGI

Web服務(wù)器網(wǎng)關(guān)接口(Python Web Server Gateway Interface,縮寫為WSGI)是為Python語言定義的Web服務(wù)器和Web應(yīng)用程序或框架之間的一種簡單而通用的接口。自從WSGI被開發(fā)出來以后,許多其它語言中也出現(xiàn)了類似接口。WSGI是作為Web服務(wù)器與Web應(yīng)用程序或應(yīng)用框架之間的一種低級別的接口,以提升可移植Web應(yīng)用開發(fā)的共同點。WSGI是基于現(xiàn)存的CGI標(biāo)準(zhǔn)而設(shè)計的。

WSGI區(qū)分為兩個部份:一為“服務(wù)器”或“網(wǎng)關(guān)”,另一為“應(yīng)用程序”或“應(yīng)用框架”。在處理一個WSGI請求時,服務(wù)器會為應(yīng)用程序提供環(huán)境資訊及一個回呼函數(shù)(Callback FuncTIon)。當(dāng)應(yīng)用程序完成處理請求后,透過前述的回呼函數(shù),將結(jié)果回傳給服務(wù)器。所謂的 WSGI 中間件同時實現(xiàn)了API的兩方,因此可以在WSGI服務(wù)和WSGI應(yīng)用之間起調(diào)解作用:從WSGI服務(wù)器的角度來說,中間件扮演應(yīng)用程序,而從應(yīng)用程序的角度來說,中間件扮演服務(wù)器。“中間件”組件可以執(zhí)行以下功能:

● 重寫環(huán)境變量后,根據(jù)目標(biāo)URL,將請求消息路由到不同的應(yīng)用對象。

● 允許在一個進程中同時運行多個應(yīng)用程序或應(yīng)用框架。

● 負(fù)載均衡和遠(yuǎn)程處理,通過在網(wǎng)絡(luò)上轉(zhuǎn)發(fā)請求和響應(yīng)消息。

● 進行內(nèi)容后處理,例如應(yīng)用XSLT樣式表。

以前,如何選擇合適的Web應(yīng)用程序框架成為困擾Python初學(xué)者的一個問題,這是因為,一般而言,Web應(yīng)用框架的選擇將限制可用的Web服務(wù)器的選擇,反之亦然。那時的Python應(yīng)用程序通常是為CGI,F(xiàn)astCGI,mod_python中的一個而設(shè)計,甚至是為特定Web服務(wù)器的自定義的API接口而設(shè)計的。WSGI沒有官方的實現(xiàn), 因為WSGI更像一個協(xié)議。只要遵照這些協(xié)議,WSGI應(yīng)用(ApplicaTIon)都可以在任何服務(wù)器(Server)上運行, 反之亦然。WSGI就是Python的CGI包裝,相對于Fastcgi是PHP的CGI包裝。

WSGI將 web 組件分為三類: web服務(wù)器,web中間件,web應(yīng)用程序, wsgi基本處理模式為 : WSGI Server -》 (WSGI Middleware)* -》 WSGI ApplicaTIon 。

1、WSGI Server/gateway

wsgi server可以理解為一個符合wsgi規(guī)范的web server,接收request請求,封裝一系列環(huán)境變量,按照wsgi規(guī)范調(diào)用注冊的wsgi app,最后將response返回給客戶端。文字很難解釋清楚wsgi server到底是什么東西,以及做些什么事情,最直觀的方式還是看wsgi server的實現(xiàn)代碼。以python自帶的wsgiref為例,wsgiref是按照wsgi規(guī)范實現(xiàn)的一個簡單wsgi server。它的代碼也不復(fù)雜。

● 服務(wù)器創(chuàng)建socket,監(jiān)聽端口,等待客戶端連接。

● 當(dāng)有請求來時,服務(wù)器解析客戶端信息放到環(huán)境變量environ中,并調(diào)用綁定的handler來處理請求。

● handler解析這個http請求,將請求信息例如method,path等放到environ中。

● wsgi handler再將一些服務(wù)器端信息也放到environ中,最后服務(wù)器信息,客戶端信息,本次請求信息全部都保存到了環(huán)境變量environ中。

● wsgi handler 調(diào)用注冊的wsgi app,并將environ和回調(diào)函數(shù)傳給wsgi app

● wsgi app 將reponse header/status/body 回傳給wsgi handler

● 最終handler還是通過socket將response信息塞回給客戶端。

2、WSGI Application

wsgi application就是一個普通的callable對象,當(dāng)有請求到來時,wsgi server會調(diào)用這個wsgi app。這個對象接收兩個參數(shù),通常為environ,start_response。environ就像前面介紹的,可以理解為環(huán)境變量,跟一次請求相關(guān)的所有信息都保存在了這個環(huán)境變量中,包括服務(wù)器信息,客戶端信息,請求信息。start_response是一個callback函數(shù),wsgi application通過調(diào)用start_response,將response headers/status 返回給wsgi server。此外這個wsgi app會return 一個iterator對象,這個iterator就是response body。這么空講感覺很虛,對著下面這個簡單的例子看就明白很多了。

3、WSGI MiddleWare

有些功能可能介于服務(wù)器程序和應(yīng)用程序之間,例如,服務(wù)器拿到了客戶端請求的URL, 不同的URL需要交由不同的函數(shù)處理,這個功能叫做 URL Routing,這個功能就可以放在二者中間實現(xiàn),這個中間層就是 middleware。middleware對服務(wù)器程序和應(yīng)用是透明的,也就是說,服務(wù)器程序以為它就是應(yīng)用程序,而應(yīng)用程序以為它就是服務(wù)器。這就告訴我們,middleware需要把自己偽裝成一個服務(wù)器,接受應(yīng)用程序,調(diào)用它,同時middleware還需要把自己偽裝成一個應(yīng)用程序,傳給服務(wù)器程序。

其實無論是服務(wù)器程序,middleware 還是應(yīng)用程序,都在服務(wù)端,為客戶端提供服務(wù),之所以把他們抽象成不同層,就是為了控制復(fù)雜度,使得每一次都不太復(fù)雜,各司其職。

uWCGI

uWSGI 項目旨在為部署分布式集群的網(wǎng)絡(luò)應(yīng)用開發(fā)一套完整的解決方案。uWSGI主要面向web及其標(biāo)準(zhǔn)服務(wù),已經(jīng)成功的應(yīng)用于多種不同的語言。由于uWSGI的可擴展架構(gòu),它能夠被無限制的擴展用來支持更多的平臺和語言。目前,你可以使用C,C++和Objective-C來編寫插件。項目名稱中的“WSGI”是為了向同名的Python Web標(biāo)準(zhǔn)表示感謝,因為WSGI為該項目開發(fā)了第一個插件。uWSGI是一個Web服務(wù)器,它實現(xiàn)了WSGI協(xié)議、uwsgi、http等協(xié)議。uWSGI,既不用wsgi協(xié)議也不用FastCGI協(xié)議,而是自創(chuàng)了一個uwsgi的協(xié)議,uwsgi協(xié)議是一個uWSGI服務(wù)器自有的協(xié)議,它用于定義傳輸信息的類型(type of information),每一個uwsgi packet前4byte為傳輸信息類型描述,它與WSGI相比是兩樣?xùn)|西。據(jù)說該協(xié)議大約是fcgi協(xié)議的10倍那么快。

uWSGI的主要特點如下:

● 超快的性能。

● 低內(nèi)存占用(實測為apache2的mod_wsgi的一半左右)。

● 多app管理。

● 詳盡的日志功能(可以用來分析app性能和瓶頸)。

● 高度可定制(內(nèi)存大小限制,服務(wù)一定次數(shù)后重啟等)。

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: 驅(qū)動電源

在工業(yè)自動化蓬勃發(fā)展的當(dāng)下,工業(yè)電機作為核心動力設(shè)備,其驅(qū)動電源的性能直接關(guān)系到整個系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動勢抑制與過流保護是驅(qū)動電源設(shè)計中至關(guān)重要的兩個環(huán)節(jié),集成化方案的設(shè)計成為提升電機驅(qū)動性能的關(guān)鍵。

關(guān)鍵字: 工業(yè)電機 驅(qū)動電源

LED 驅(qū)動電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個照明設(shè)備的使用壽命。然而,在實際應(yīng)用中,LED 驅(qū)動電源易損壞的問題卻十分常見,不僅增加了維護成本,還影響了用戶體驗。要解決這一問題,需從設(shè)計、生...

關(guān)鍵字: 驅(qū)動電源 照明系統(tǒng) 散熱

根據(jù)LED驅(qū)動電源的公式,電感內(nèi)電流波動大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關(guān)鍵字: LED 設(shè)計 驅(qū)動電源

電動汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產(chǎn)業(yè)的重要發(fā)展方向。電動汽車的核心技術(shù)之一是電機驅(qū)動控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機驅(qū)動系統(tǒng)中的關(guān)鍵元件,其性能直接影響到電動汽車的動力性能和...

關(guān)鍵字: 電動汽車 新能源 驅(qū)動電源

在現(xiàn)代城市建設(shè)中,街道及停車場照明作為基礎(chǔ)設(shè)施的重要組成部分,其質(zhì)量和效率直接關(guān)系到城市的公共安全、居民生活質(zhì)量和能源利用效率。隨著科技的進步,高亮度白光發(fā)光二極管(LED)因其獨特的優(yōu)勢逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關(guān)鍵字: 發(fā)光二極管 驅(qū)動電源 LED

LED通用照明設(shè)計工程師會遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關(guān)鍵字: LED 驅(qū)動電源 功率因數(shù)校正

在LED照明技術(shù)日益普及的今天,LED驅(qū)動電源的電磁干擾(EMI)問題成為了一個不可忽視的挑戰(zhàn)。電磁干擾不僅會影響LED燈具的正常工作,還可能對周圍電子設(shè)備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關(guān)鍵字: LED照明技術(shù) 電磁干擾 驅(qū)動電源

開關(guān)電源具有效率高的特性,而且開關(guān)電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機重量也有所下降,所以,現(xiàn)在的LED驅(qū)動電源

關(guān)鍵字: LED 驅(qū)動電源 開關(guān)電源

LED驅(qū)動電源是把電源供應(yīng)轉(zhuǎn)換為特定的電壓電流以驅(qū)動LED發(fā)光的電壓轉(zhuǎn)換器,通常情況下:LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: LED 隧道燈 驅(qū)動電源
關(guān)閉