2013-10-17 17 views
1

我目前在我的網頁上運行Java Applet,該Java Applet通過COM1與顯示器極進行通信。但是,自從Java更新後,我無法再運行自簽名的Java Applets,我認爲將AJAX請求發送回服務器並讓服務器向計算機上的TCP端口發送響應會更容易...計算機將需要TCP> COM虛擬適配器。如何安裝虛擬適配器以從TCP端口轉到COM1?TCP> COM1用於接收消息並在POS顯示器杆上顯示

我查看了com0com,這只是讓我感到困惑,而且我不知道如何將任何端口連接到COM1。我試過tcp2com,但似乎沒有在Windows 7 x64中安裝該服務。我試過com2tcp,界面看起來像它會工作(我還沒有測試過),但我不想讓應用程序在桌面上運行......它需要是一個在後臺運行的服務。

因此,要總結它是如何工作的:在COMP1

  • 網頁發送AJAX請求到服務器
  • 服務器發送文本響應COMP1端口999
  • COMP1已經虛擬COM端口偵聽端口999,將數據發送到COM1
  • 極顯示數據

編輯:我正在使用Win 7 x64,而tcp2com不能用作服務。我嘗試使用srvany,但我得到一個錯誤,指出應用程序啓動然後停止。如果我使用powershell並將tcp2com作爲參數傳遞,它不會退出,但它也不會運行。所以我摒棄了整個'服務'協議,並把命令:powershell -windowstyle隱藏「tcp2com --test tcp/999 com1」,它的工作原理......有點。發送的字符全部都會消失。我可以在具有COM2TCP(不同供應商)的另一臺計算機上編寫「echo WTF> COM1」,並且它將作爲POS顯示器杆上的單個模塊出現。但是,如果我在服務器和客戶端機器上使用COM2TCP,一切正常......但這只是一個試用版,它需要花費數百美元!另一方面,是否有辦法通過IP發送原始文本,而不必在另一臺計算機上使用另一個Virtual COM> IP適配器?有點像捲曲如何工作,但不同...?

+0

tcp2com看起來像的路要走。我已經看過了源代碼,而且非常簡單。瀏覽註冊碼併發布失敗的地方。 –

+0

查看我的編輯進行更新。 – JakeTheSnake

+0

好的,*爲什麼*不能用作服務?它不安裝?它不啓動嗎? –

回答

1

經過一番徹底的搜索之後,我遇到了一個名爲'piracom'的程序。這是一個非常簡單的應用程序,可讓您指定端口設置,以便將串行端口連接到網絡上的偵聽端口。所以這是IP>串行。對於Serial> IP,我甚至在piracom網站上使用了HW-VSP3-Single,它表示它兼容!我已經測試過,它的工作原理!

我只是把我的用戶帳戶的啓動文件夾中的piracom快捷方式;應用程序會運行一個.ini文件,並在每次更改時更新......因此,如果您運行服務器並將其隱藏起來,則在下次重新啓動計算機時,它將啓動運行並隱藏所有先前的設置。簡單。

現在是在服務器上安裝HW-VSP3並在Rails應用程序上寫入虛擬COM端口的方法。我現在可以看到的唯一問題是寫入echo \14Test This! > COM3實際上會打印\ 14 ...如果我在我的Java小應用程序中這樣做,它會發送「開始」信號。

*附錄1:\ 14問題通過使用RoR的serialport gem修復。我在控制器中創建了一個方法,返回head:no_content,然後將數據發送到COM端口。調用此方法是通過jQuery的$ .Ajax,使用「HEAD」HTTP方法進行的。顯然,儘管我必須在Rails路由中添加GET動詞,因爲某些吝嗇原因不支持H​​EAD選項。*

附錄2:一些垃圾數據正在發送到字符串末尾的顯示器極點......原來我需要關閉HW-VSP3中的「NVT」選項。另外請記住,需要修改防火牆以允許通信。