2016-06-14 41 views
1

存儲TCP連接-ID檢索它之後貯藏TCP連接ID檢索它之後

你好, TCP服務器處理客戶端的連接,並且每個連接的ID存儲到數據庫中。連接ID類似於「localhost:58653:10001:fb10ac9b-b203-4df6-a360-13aa13855577」。

另一方面,同一臺服務器提供了一個HTML頁面,該頁面用「ping」按鈕列出了連接。 單擊一個按鈕將向與客戶端連接ID相匹配的客戶端發送消息。

這兩個過程都是去相關的。 所以,我需要檢索匹配存儲的連接ID的TCP連接。

我沒有找到位於類「AbstractConnectionFactory」中的連接緩存的訪問權限。

你有什麼建議嗎? 我錯了嗎?

回答

1

TcpConnectionSupport有這些有用的方法:

protected void publishConnectionOpenEvent() { 
    TcpConnectionEvent event = new TcpConnectionOpenEvent(this, 
      this.connectionFactoryName); 
    doPublish(event); 
} 

protected void publishConnectionCloseEvent() { 
    TcpConnectionEvent event = new TcpConnectionCloseEvent(this, 
      this.connectionFactoryName); 
    doPublish(event); 
} 

protected void publishConnectionExceptionEvent(Throwable t) { 
    TcpConnectionEvent event = new TcpConnectionExceptionEvent(this, 
      this.connectionFactoryName, t); 
    doPublish(event); 
} 

所以,你應該只認購所有這些,在你的目標服務做一個適當的邏輯。

connectionIdTcpConnectionEvent.getConnectionId()TcpConnection(TcpConnection) TcpConnectionEvent.getSource()

希望能幫到你。

+0

非常感謝。 您可以幫助我實現管理連接緩存的** TcpConnectionEvent **偵聽器。 – Golgoth14