2016-09-19 56 views
-1

首先,我很抱歉我的英語,我是一名法國開發人員。在Java中創建一個IP串行隧道

我使用套接字工作在一個java客戶端 - 服務器應用程序上。客戶端軟件與服務器一樣位於PC上,但客戶端PC通過USB連接到偵聽特定協議幀的設備,我將其命名爲協議X.我的服務器將幀發送給客戶端,客戶端發送這些幀與協議X.

現在,我想只在服務器上使用該協議,並直接在USB設備上發送幀。如何做呢?我聽說過隧道,但我不知道這樣做的Java庫。 我認爲有必要能夠將X幀封裝在IP幀中,並將其發送到客戶端,客戶端將其解封併發送到USB設備。

謝謝!

+0

聽起來像你已經在做類似純Java那樣只有TCP/IP和UDP協議實現,所以你已經包裝了你的X prot。 – Antoniossss

+0

客戶端應用程序通過USB連接到偵聽特定協議幀的設備,它可能寫得不好或根本就不相關,因爲如果您從hdd直接從網絡或USB棒上運行應用程序,則沒有區別。我假設你的意思是Java客戶端應用程序 – Antoniossss

+0

我嚴重給出解釋,我的客戶端軟件是在一臺電腦上,這臺電腦連接到USB設備。所以,我有3臺機器,服務器,客戶端和設備。 –

回答

0

你的IP封裝將在3種條件下工作:

  1. 您的USB設備將不得不處理TCP連接(因而有網絡地址知道到主機PC)
  2. 主機就必須有設置路由表將適當的網絡流量路由到您的USB設備。
  3. USB dev應該處理從傳入的IP數據包中提取屬性數據。

因此,根據您提供的信息,使用簡單路由應該足以處理該問題。

另一種方法是使代理deamon中繼 - 這正是你現在擁有的。

+0

USB設備只知道使用協議X形式化的數據。我現在使用HDLC連接。在協議中,我看到TCP和HDLC-TCP連接,但目前我不知道是否可以使用它們。 –

+0

@DamienRamat me既不。 – Antoniossss

+0

謝謝@Antoniossss,我現在明白了 –