2013-03-11 18 views
6

我想加密在TIdTCPClientTIdTCPServer組件之間發送的一些數據包。在客戶端,我可以使用TIdBlockCipherIntercept來實現我的加密/解密。但是,我無法找到匹配的服務器端組件分配給我的IdTCPServer,我在Google上找不到任何內容。我該怎麼辦?什麼是TIdBlockCipherIntercept的等效服務器端組件?

+0

是不是隻是相同的組件?你說它可以在客戶端加密和解密;爲什麼它不能在服務器上同時執行? – 2013-03-11 13:28:41

+0

編號:-(TIdTCPServer.Intercept是TIdServerIntercept類型,而TIdTCPClient.Intercept是TIdConnectionIntercept類型,儘管事實上有兩個單獨的截取組件用於壓縮,忘了包含服務器截取密碼 – 2013-03-11 13:35:15

回答

4

如果沒有TIdServerIntercept後代,則可以處理OnConnect事件並將TIdBlockCipherIntercept實例分配給服務器連接的Intercept屬性。

AContext.Connection.Intercept := TIdBlockCipherIntercept.Create(AContext.Connection); 
+3

這就是你現在要做的事情,我將考慮儘快添加一個服務器端組件。 – 2013-03-11 15:31:49

+1

謝謝,@Remy。我的回答是基於[你對新聞組](http://borland.public.delphi.internet.winsock.narkive.com/o9bNb3ch/tidblockcipherintercept-indy10)差不多六年前。 – 2013-03-11 16:07:14

+5

'TIdServerBlockCipherIntercept'現在已被添加(儘管我沒有Component Palette圖標彌補了它)。 – 2013-03-11 18:29:50

相關問題