2010-07-22 48 views
5

我想設計一個用戶應填寫一些字段的網絡表單。一個字段的值應從客戶端計算機的串行端口(COM1)讀取,該客戶端計算機上連接有一個特殊硬件,用戶在填寫表格時按下硬件的Send to PC鍵。如何從網頁中的串行端口讀取

我如何在我的網頁上聆聽COM1端口並獲取COM1的值並將其自動放置在Web窗體中?

我聽說ActiveX控件可以做到這一點,但它只與IE兼容(對吧?)。另一種選擇是Java小程序。

我想要一個與(至少)IE/Firefox/Opera兼容的簡單解決方案。

我在服務器端我可以有ASP或PHP,但我很感激,如果你給每個解決方案。

UPDATE:

我們可以告訴客戶改變他們的安全設置來接受我們的ActiveX /小程序。

我們也可以告訴客戶安裝一個作爲服務運行並從串口讀取的自定義程序。

問題是讀取的數據應該立即自動輸入到webform中。

java applet是一個好主意,但客戶端必須安裝大尺寸的JRE。

有沒有其他的選擇?

+0

爲什麼它需要成爲一個網頁?您可以擁有一個客戶端應用程序(與com端口聊天時不會有問題)將數據提交給網頁,RESTful服務或WS- *服務。 – 2010-07-22 15:46:25

+0

@Matthew:你說得對,但這個網頁是一個大網站的一部分,而BOSS更喜歡所有東西都集成到網絡中。 : -/ – Isaac 2010-07-24 10:53:36

回答

3

使用Java Applet,您可以從串口讀取數據,但出於安全原因您需要對小程序進行簽名。爲了非正式地(非陽光公司)堅定不移,你必須創建一個證書。 Here就是一個例子。

+0

你能否更新鏈接?此鏈接已過期 – 2014-09-10 03:55:20

1

這似乎破壞了網絡的大多數安全模型。我想不出一種在瀏覽器中完成而無需授予applet或ActiveX控件許多權限的方式(即使我不確定這是可能的)。我認爲它可能需要某種本地「厚」的客戶端應用程序來與串行端口進行通信。

+0

我們的客戶將這些權限授予小程序沒有問題。我也更新了這個問題的澄清。 – Isaac 2010-07-24 11:00:08

0

Java很可能是您維護跨瀏覽器和跨平臺兼容性的最佳選擇。快速搜索提出了這些頁面,你會發現有用:

服務器端的選擇不會在所有問題。一旦客戶端讀取數據,就和將其他數據發送到服務器端腳本一樣。

+2

然而,這將需要胖客戶端,因爲由於安全限制,無法從小應用程序完成。 – Chris 2010-07-22 15:45:55

4

我正在解決同樣的問題,我做到了。它使用Java Web Applet完成。您將需要NetBeans。首先閱讀「自述文件」。請告訴我,如果有的話,請。

http://racky.wz.cz/applet_rs232.zip

專爲串口COM1。插入一根RS-232電纜,並在另一端短接(連接)引腳2和3。

+1

+1 此答案似乎合法且需要更多關注。這可能是這個問題的一個很好的模板代碼。 – Isaac 2011-09-11 09:22:39

+0

@Racky:損壞的文件 – GerManson 2012-02-14 18:18:24