2013-04-08 46 views
1

目前,我實現了一個客戶端和服務器應用程序,它們使用簡單的SOCKET來相互通信。像thisC/C++ SOCKET代理

問題是,有些用戶沒有直接訪問互聯網,所以他們使用proxys。

如何使用SOCKET通過代理進行通信(例如,默認的IE代理),還是有其他可能性?

+0

文檔說*如果您通過每個服務的單獨代理運行,則不需要執行任何操作。如果你正在通過sockd工作,你將需要「塞滿」你的應用程序* – 2013-04-08 08:56:31

回答

1

首先,這些代理使用不同類型的代理和不同類型的協議。有HTTP代理服務器,SOCKS代理服務器,隧道代理服務器等。因此,首先需要確定代碼中要支持的代理類型,然後根據需要實現這些協議中的每一個。

通常,代替connect()直接指向所需的服務器,客戶端將connect()代替代理服務器,並指示它使用代理使用的任何協議連接到服務器。一旦建立了連接,客戶端和服務器代碼的其餘部分就會像原來一樣正常運行,並且代理將透明地來回交換數據。