如果運行TIdTCPServer的服務器和使用Web瀏覽器(或任何其他軟件)進行通信的客戶端,我不知道該協議,但即時嘗試執行的操作是發送數據在客戶端和另一個連接(均連接到相同的TIdTCPServer)之間,例如第一客戶端發送的數據被髮送到第二客戶端,並且第二客戶端發送的數據被髮送到第一客戶端,如代理(i因爲它只是這一個條件,所以不能真正使用代理服務器),TIdTCPServer仍應該接收其他客戶端並處理其數據。在Indy(TIdContext)中的2個連接之間直接傳輸數據
我偶然發現了第一行代碼,因爲TIdContext.Connection.Socket.ReadLn需要一個分隔符,而客戶端的協議對於服務器是未知的。
有什麼想法?
謝謝。
也許Indy中的TIdMappedPortTCP組件有幫助,但有一些修改 - 請參閱http://stackoverflow.com/questions/4136226/proxy-server-using-indy – mjn 2011-03-05 17:33:11
當面對同樣的問題時,我使用了[ICS - 互聯網組件套件](http://www.overbyte.be/frame_index.html?redirTo=/products/ics.html)組件:與Indy不同,它們不會阻塞,因此您可以輕鬆地同時接收和發送數據。 – 2011-03-05 18:28:40
我不能使用TIedMppedPortTCP,因爲它實際上是一個服務器,具有很多功能,提供信息和內容,並且只是服務器內部的一個功能,可以將客戶端轉移到另一個客戶端,因爲我在跨平臺開發:( – killercode 2011-03-06 14:46:45