<samp id="ov9xx"></samp>

          国内精品久久久久久中文字幕_人妻少妇精品无码专区二区_蜜臀AV人妻久久无码精品麻豆_99精品国产一区二区三区_国内精品久久久久久TV

          諾塔斯L9-E-POE智能卡讀寫器全兼容瀏覽器支持HTTPS協(xié)議

          2020-04-28 13:31:00
          諾塔斯智能科技
          原創(chuàng)
          3125

               自從諾塔斯智能科技發(fā)布L6-E智能卡讀寫器以來,我們在用戶反饋的功能需求中,了解到客戶在web瀏覽器上對智能卡讀寫器進行二次開發(fā)需要支持https協(xié)議,首先我們來回顧一下L6-E智能卡讀寫器功能,它是一款支持TCP/IP通信可以通過USB接口進行自定義IP地址,內(nèi)置了websocket組件的智能卡讀寫器。隨著越來越多的web應(yīng)用比較重視安全性,大多數(shù)web應(yīng)用已經(jīng)升級到https協(xié)議了。因此,我們需要將內(nèi)置的websocket組件功能進行升級,從而更好的配合客戶在web瀏覽器應(yīng)用。

               首先,我們了解一下,什么是WebSocket協(xié)議,是html5的一種通信協(xié)議,該協(xié)議兼容我們常用的瀏覽器。例如Chrome、 Firefox、IE等。它可以使客戶端和服務(wù)端雙向數(shù)據(jù)傳輸更加簡單快捷,并且在TCP連接進行一次握手后,就可以持久性連接,同時允許服務(wù)端對客戶端推送數(shù)據(jù)。外加傳統(tǒng)模式的協(xié)議一般HTTP請求可能會包含較長的頭部,但真正有效的可能只有小部分,從而就占用了很多資源和帶寬。因此WebSocket協(xié)議不僅可以實時通訊,支持?jǐn)U展;也可以壓縮節(jié)省服務(wù)器資源和帶寬。 WS協(xié)議和WSS協(xié)議兩個均是WebSocket協(xié)議的SCHEM,兩者一個是非安全的,一個是安全的。也是統(tǒng)一的資源標(biāo)志符。就好比HTTP協(xié)議和HTTPS協(xié)議的差別。非安全的沒有證書,安全的需要SSL證書。(SSL是Netscape所研發(fā),用來保障網(wǎng)絡(luò)中數(shù)據(jù)傳輸?shù)陌踩裕饕沁\用數(shù)據(jù)加密的技術(shù),能夠避免數(shù)據(jù)在傳輸過程被不被竊取或者監(jiān)聽。)其中WSS表示在TLS之上的WebSocket。WS一般默認(rèn)是80端口,而WSS默認(rèn)是443端口,大多數(shù)網(wǎng)站用的就是80和433端口。WS和WSS的體現(xiàn)形式分別是TCP+WS AS WS ,TCP+TLS+WS AS WS。服務(wù)器網(wǎng)址就是 URL。最后再說下WebSocket協(xié)議的特點:建立在 TCP 協(xié)議之上,服務(wù)端實現(xiàn)容易;與 HTTP 協(xié)議有良好的兼容性,握手時不容易被屏蔽,可以通過各種 HTTP 代理服務(wù)器;數(shù)據(jù)輕量,實時通訊;可以發(fā)送文本和二進制數(shù)據(jù)。不限制同源,客戶端可以與任意服務(wù)器端進行通訊。因此WebSocket協(xié)議的出現(xiàn),為很多人解決了關(guān)于擴展以及兼容性協(xié)議的煩惱問題。

              說一千道一萬,目的就是解決瀏覽器兼容問題。于是,諾塔斯L9-E-POE智能卡讀寫器一款瀏覽器全兼容智能卡讀寫器誕生了。它滿足了智能卡讀寫器二次開發(fā)支持https協(xié)議 客戶的需求,采用標(biāo)準(zhǔn)POE交換機供電,無需其它外部供電設(shè)備,從而有效的解決了既要部署網(wǎng)絡(luò)傳輸線纜,又要額外增加電源適配器的麻煩。設(shè)備可以自定義IP地址,區(qū)別于傳統(tǒng)智能卡讀寫器通過USB、RS232等接口通信,不會受到上位機硬件接口數(shù)量限制,用戶可以根據(jù)自己需求靈活的進行網(wǎng)絡(luò)擴展。

          諾塔斯L9-E-POE智能卡讀寫器配置如下:

          電氣特征

          外殼尺寸

          105 mm (長) x 70 mm (寬) x 12.8 mm (高)

          產(chǎn)品重量

          80.0 g

          硬件接口

          RJ45標(biāo)準(zhǔn)網(wǎng)絡(luò)接口

          通訊協(xié)議

          TCP/IP、UDP

          讀卡距離

          50mm—70mm(視標(biāo)簽類型和尺寸而定)

          工作電壓

          額定電壓 5V USB供電 、可定制內(nèi)置鋰電池或POE供電

          工作電流

          200 mA (工作); 50 mA (待機); 100 mA (常規(guī))

          工作溫度

          0-50°C

          工作頻率

          13.56 MHz

          防沖突機制

          內(nèi)建防沖突特性(任何時候都只能訪問1張標(biāo)簽)

          人機互動

          雙色LED指示燈、蜂鳴器

          與智能卡通信協(xié)議

          ü  ISO 14443-4 A和B類 非接觸式智能卡符合 PBOC2.0

          ü  Mifare 系列

          ü  NFC (ISO/IEC 18092)標(biāo)簽

          操作系統(tǒng)

           Win98, Win ME, Win NT 4.0, Win 2000, Win 2003, Win 2003 R2, Win XP, Win Vista, Win 2008, Win 7, Win 8 ,Win10等

           Win 2003 x64, Win 2003 R2 x64, Win XP x64, Win Vista x64, Win 2008 x64, Win 2008 R2 x64, Win 7 x64, Win 8 x 64, Win 2012 x64

           Win CE 5.0 and 6.0

           Linux?

           Android? 3.1 及以上版本

           STM32、ARM等單片機系統(tǒng)等

          開發(fā)語言

          ü  VB、VB6、 PB9、doNet

          ü  VC、C++、C#

          ü  Dephi、JAVA 、JavaScript、QT

          ü  Android開發(fā)語言、Linux開發(fā)語言等

          支持瀏覽器

          谷歌Chrome瀏覽器、IE瀏覽器、360瀏覽器、QQ瀏覽器、搜狗瀏覽器、火狐瀏覽器、遨游瀏覽器、Opera瀏覽器、Safari瀏覽器等,此處不一一列舉。

          典型應(yīng)用

          電子錢包

          會員支付

          積分系統(tǒng)

          身份驗證

          智能海報

          自動售貨機

          智慧醫(yī)療

          充電樁計費

          智能收費

          諾塔斯L9-E-POE智能卡讀寫器產(chǎn)品詳圖

          諾塔斯L9-E-POE智能卡讀寫器

          諾塔斯L9-E-POE智能卡讀寫器內(nèi)部圖

          諾塔斯L9-E-POE智能卡讀寫器瀏覽器開發(fā)部分范例代碼

          function ConnectServer(){
          			var protocolStr = document.location.protocol;
          			document.getElementById('log').innerHTML = '<li><b>'+ protocolStr +'</b></li>' + document.getElementById('log').innerHTML;
          			try {
          				nCommandIndex = 0;
          				strIp = document.getElementById('strLotusCardDeviceIp').value;
          				strPort = document.getElementById('strLotusCardDevicePort').value;
          				if(protocolStr == "https:")
          				{
          					wsUrl = 'wss://'+ strIp +':'+  strPort;
          				}
          				else
          				{
          					wsUrl = 'ws://'+ strIp +':'+  strPort;
          				}
          				socket = new WebSocket(wsUrl); 
                } catch (evt) {
                   document.getElementById('log').innerHTML = '<li><b>'+getNowFormatDate()+'#new WebSocket error:'+ evt.data+'</b></li>' + document.getElementById('log').innerHTML;
                   socket = null;
                   if (typeof(connCb) != "undefined" && connCb != null)
                       connCb("-1", "connect error!");
                   return;
                }			
          			socket.onopen = function ()
          				{  
          					document.getElementById('log').innerHTML = '<li><b>'+getNowFormatDate()+'#連接服務(wù)器成功</b></li>' + document.getElementById('log').innerHTML;
          					document.getElementById('status').innerHTML = 'Socket Open';
          					document.getElementById('status').className = 'online';
          				};
          			socket.onclose =  function(event)
          				{  
          					document.getElementById('log').innerHTML = '<li><b>'+getNowFormatDate()+'#斷開連接:' + event.wasClean + '</b></li>' + document.getElementById('log').innerHTML;
          					document.getElementById('status').innerHTML = 'Socket Closed';
          					document.getElementById('status').className = 'offline';
          				};
          <table width="100%">
          	<tr style="width:100px; height:40px;">
          		<td>
          			讀卡器IP:
          		</td>		
          		<td>
          			<input type="text" value="wss.lotussmart.cc" id="strLotusCardDeviceIp" style="width:150px; height:30px;" />
          		</td>
          	</tr>
          	<tr style="width:100px; height:40px;">
          		<td>
          			讀卡器PORT:
          		</td>		
          		<td>
          			<input type="text" value="31213" id="strLotusCardDevicePort" style="width:150px; height:30px;" />
          		</td>
          	</tr>
          	
          	<tr style="width:100px; height:40px;">
          		<td>
          			狀態(tài)
          		</td>
          		<td>
          			<p id="status"></p>
          		</td>
          	</tr>
          	<tr style="width:100px; height:40px;">
          		<td colspan="2">
          			<h3>通信函數(shù):1、連接服務(wù)器 2、執(zhí)行字符串函數(shù)并解析結(jié)果 3、斷開連接</h3>
          		</td>
          	</tr>
          	<tr style="width:100px; height:40px;">
          		<td>
          			連接服務(wù)器:
          		</td>
          		<td>
          			<INPUT id = "ConnectServer"  type=button value="ConnectServer" onclick="javascript:ConnectServer();" style="width:150px; height:30px;"/>			
          		</td>
          		
          	</tr>
          	<tr style="width:100px; height:40px;">
          		<td>
          			關(guān)閉連接:
          		</td>		
          		<td>
          			<INPUT id = "CloseConnection"  type=button value="CloseConnection" onclick="javascript:socket.close();" style="width:150px; height:30px;"/>
          		</td>
          	</tr>
          	<tr style="width:100px; height:40px;">
          		<td>
          			獲取連接狀態(tài):
          		</td>
          		<td>
          			<INPUT id = "ConnectionStatus"  type=button value="ConnectionStatus" onclick="javascript:document.getElementById('log').innerHTML = '<li><b>#status:' + GetSocketStatus() + '</b></li>' + document.getElementById('log').innerHTML;"
          			 style="width:150px; height:30px;"/>
          		</td>
          	</tr>
          	<tr style="width:100px; height:40px;">
          		<td>
          			獲取MCU序列號:
          		</td>		
          		<td>
          			<INPUT id = "OpenDevice"  type=button value="GetMcuSerailNo" onclick="javascript:ExecStringCommand('GetMcuSerailNo')" style="width:150px; height:30px;"/>
          		</td>
          	</tr>
          	
          	<tr style="width:100px; height:40px;">
          		<td>
          			蜂鳴:
          		</td>		
          		<td>
          			<INPUT id = "Beep"  type=button value="Beep" onclick="javascript:ExecStringCommand('Beep,10');" style="width:150px; height:30px;"/>
          		</td>
          	</tr>
          	<tr style="width:100px; height:40px;">
          		<td>
          			獲取M1卡號:
          		</td>		
          		<td>
          			<INPUT id = "GetCardNo"  type=button value="GetCardNo" onclick="javascript:ExecStringCommand('GetCardNo,38');" style="width:150px; height:30px;"/>
          		</td>
          	</tr>
          	<tr style="width:100px; height:40px;">
          		<td>
          			裝載密碼:
          		</td>		
          		<td>
          			<INPUT id = "LoadKey"  type=button value="LoadKey" onclick="javascript:ExecStringCommand('LoadKey,96,0,FFFFFFFFFFFF');" style="width:150px; height:30px;"/>
          		</td>
          	</tr>
          	<tr style="width:100px; height:40px;">
          		<td>
          			驗證密碼:
          		</td>		
          		<td>
          			<INPUT id = "Authentication"  type=button value="Authentication" onclick="javascript:ExecStringCommand('Authentication,96,0');" style="width:150px; height:30px;"/>
          		</td>
          	</tr>
          	<tr style="width:100px; height:40px;">
          		<td>
          			讀數(shù)據(jù)扇區(qū)0塊1:
          		</td>		
          		<td>
          			<INPUT id = "M1Read"  type=button value="M1Read" onclick="javascript:ExecStringCommand('Read,1');" style="width:150px; height:30px;"/>
          		</td>
          	</tr>
          	<tr style="width:100px; height:40px;">
          		<td>
          			寫數(shù)據(jù)扇區(qū)0塊1:
          		</td>		
          		<td>
          			<INPUT id = "M1Write"  type=button value="M1Write" onclick="javascript:ExecStringCommand('Write,1,0123456789abcdef0123456789abcdef');" style="width:150px; height:30px;"/>
          		</td>
          	</tr>	
          	<tr style="width:100px; height:40px;">
          		<td>
          			讀數(shù)據(jù)扇區(qū)0塊1:
          		</td>		
          		<td>
          			<INPUT id = "NtagRead"  type=button value="NTAGRead" onclick="javascript:ExecStringCommand('Read,4');" style="width:150px; height:30px;"/>
          		</td>
          	</tr>
          	<tr style="width:100px; height:40px;">
          		<td>
          			寫數(shù)據(jù)NTAG4PAGE:
          		</td>		
          		<td>
          			<INPUT id = "NtagWrite"  type=button value="NtagWrite" onclick="javascript:ExecStringCommand('NtagWrite,4,012345678');" style="width:150px; height:30px;"/>
          		</td>
          	</tr>	
          	<tr style="width:100px; height:40px;">
          		<td>
          			中止M1卡片:
          		</td>		
          		<td>
          			<INPUT id = "M1Halt"  type=button value="M1Halt" onclick="javascript:ExecStringCommand('Halt');" style="width:150px; height:30px;"/>
          		</td>
          	</tr>		
          	<tr style="width:100px; height:40px;">
          		<td>
          			清除日志:
          		</td>		
          		<td>
          			<INPUT id = "ClearLog"  type=button value="ClearLog" onclick="javascript:document.getElementById('log').innerHTML = '';" style="width:150px; height:30px;"/>
          		</td>
          	</tr>		
          	<tr>
          		<td colspan="2">
          			<h3>日志</h3>
          		</td>
          	</tr>
          	<tr>
          		<td colspan="2">
          			<ul id="log" style="overflow: auto; list-style: none; padding:0; background:#ffffff; font-size:small; border-style:solid; border-color:#c0c0c0"></ul>
          		</td>
          	</tr>  </table>
          產(chǎn)品完整測試頁面請點擊這里,諾塔斯智能科技網(wǎng)絡(luò)版智能卡讀寫器LotusCard WEB Socket 演示頁面    



          發(fā)表評論
          評論通過審核后顯示。
          熱門文章推薦
          關(guān)于PSAM卡、SAM卡、SIM卡的特征和區(qū)別 2019-03-22 由于人們對PSAM卡、SAM卡、SIM卡的概念理解不到位加之很少仔細(xì)的對PSAM卡、SAM卡、SIM卡實物進行區(qū)別,容易將PSAM卡、SAM卡、SIM卡混為一談。諾塔斯智能科技就PSAM卡、SAM卡、SIM卡三者特征和作用進行介紹,幫助大家對PSAM卡、SAM卡、SIM卡進行深刻的認(rèn)識和區(qū)分。
          M1卡常見問題和處理方法 2019-02-21 M1卡是恩智浦出品的芯片縮寫,全稱為NXP Mifare1系列,常用的有S50及S70兩種型號,截止到2013年11月4日,已經(jīng)有國產(chǎn)芯片與其兼容,利用PVC封裝M1芯片、感應(yīng)天線,然后壓制成型后而制作的卡即是智能卡行業(yè)所說的M1卡。M1卡的優(yōu)點是可讀可寫的多功能卡,缺點是:價格稍貴,感應(yīng)距離短,目前適合非定額消費系統(tǒng)、停車場系統(tǒng)、門禁考勤系統(tǒng)等,目前應(yīng)用最廣泛的非接觸式IC卡。
          NFC數(shù)據(jù)交換格式(NDEF)規(guī)范 2019-05-28 為實現(xiàn)標(biāo)簽和NFC設(shè)備,及NFC設(shè)備之間的交互通信,NFC論壇定義了稱為NFC數(shù)據(jù)交換格式(NDEF)的通用數(shù)據(jù)格式。 NDEF是輕量級的緊湊的二進制格式,可帶有URL,vCard和NFC定義的各種數(shù)據(jù)類型。
          非接觸式IC卡(M1卡)區(qū)塊讀寫控制 2019-02-21 非接觸式IC卡系列中的Mifare One (M1卡)的優(yōu)點是可讀可寫的多功能卡,缺點是:價格稍貴,感應(yīng)距離短,目前適合非定額消費系統(tǒng)、停車場系統(tǒng)、門禁考勤系統(tǒng)等,目前應(yīng)用最廣泛的 非接觸式IC卡。諾塔斯智能科技專業(yè)從事非接觸式IC卡讀寫器的研發(fā)與銷售,為各行業(yè)用戶提供專業(yè)的IC卡系統(tǒng)解決方案。
          聯(lián)系我們
          聯(lián)系人: 張經(jīng)理
          電話: 400-023-6659
          傳真: 023-68798110
          Email: 843718693@qq.com
          QQ: 843718693
          微信: Lotus-Smart
          微博: lotusreader
          旺旺: 諾塔斯智能科技有限公司
          地址: 重慶市江北區(qū)宏帆路36號宏帆天地1棟6樓
          • 諾塔斯智能科技在線客服
            在線客服
          • 重慶諾塔斯智能科技有限公司微信公眾號
            關(guān)注微信
          • 諾塔斯智能科技網(wǎng)上商城
            網(wǎng)上商城
          移動訪問
          日本添下边视频全过程_人妻少妇精品无码专区二区_蜜臀AV人妻久久无码精品麻豆_99精品国产一区二区三区

                <samp id="ov9xx"></samp>