IMHO.WS

IMHO.WS (http://www.imho.ws/index.php)
-   Программирование (http://www.imho.ws/forumdisplay.php?f=40)
-   -   Delphi, sockets[TTcpClient] (http://www.imho.ws/showthread.php?t=79683)

Lord Skill 12.02.2005 21:20

Delphi, sockets[TTcpClient]
 
Есть ли кто-нибудь кто может обяснить как через proxy работать в Delphi с компонентом TTcpClient
:help:

Andrewpg 13.02.2005 00:14

Насколько я помню - перенаправление портов - проблемы прокси. Пишешь обычно, как-будто прокси нет..

Lord Skill 13.02.2005 02:25

хмм, вопрос наверное не правильно задал
вообшем я работал на VB с Winsock и писал все, работал через proxy и нормально было
а допустим кто-нить может простой пример написать с TTcpClient:
1) подсоединение к прохы серверу
2) посылка запроса на сервер типо 'GET http://imho.ws HTTP/1.1'
3) и получение и вывод куда-нить ответа сервера

Я юзаю Delphi 2005 Win32

Lord Skill 14.02.2005 16:02

вот такой пример на VB, но надо тоже самое на Delphi

Код:

Dim data As String
Dim tdata As String
Dim intEnd As Long

Private Sub Command1_Click()
If Winsock1.State = 8 Or Winsock1.State = 7 Then Exit Sub
data = ""
Winsock1.Connect "163.21.94.59", 80
Do While Not Winsock1.State = 7
    DoEvents
Loop
Winsock1.SendData "GET http://www.ruuter.ee/myip/ HTTP/1.0" + vbCrLf + vbCrLf
End Sub

Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
Winsock1.GetData tdata
data = data + tdata
Text1 = data
End Sub


qnx 14.02.2005 22:50

Используй пакет Indy, компонент TIdHttp, а с этим TTcpClient больше проблем, чем толку. Если все же нужно ТОЛЬКО через него, то алгоритм прост:
TcpClient.RemoteHost:=<IP proxy>
TcpClient.RemotePort:=<Potr proxy>
TcpClient.Active:=True;

после получения OnConnect отправляешь:
TcpClient.Sendln('GET http://imho.ws HTTP/1.1');

на событие OnReceive ставишь обработчик и смотришь , что пришло
вкратце - все

Lord Skill 15.02.2005 00:10

Цитата:

Сообщение от qnx
Используй пакет Indy, компонент TIdHttp, а с этим TTcpClient больше проблем, чем толку. Если все же нужно ТОЛЬКО через него, то алгоритм прост:
TcpClient.RemoteHost:=<IP proxy>
TcpClient.RemotePort:=<Potr proxy>
TcpClient.Active:=True;

после получения OnConnect отправляешь:
TcpClient.Sendln('GET http://imho.ws HTTP/1.1');

на событие OnReceive ставишь обработчик и смотришь , что пришло
вкратце - все

vot vse eto poluchilos' za iskljucheniem togo chtobq poluchit' dannqe posle Sendln, na OnReceice, na tot zhe proxy chto i na VB konekchus' i nifiga niprihodit dannqh


Часовой пояс GMT +4, время: 03:57.

Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.