Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Надо написать прокси на один порт и хост. [D6, Win2k, WinXP]


xrip ©   (2003-02-13 22:17:00) 

Суть задачи в следующем: я коннекчюсь по сети к одной машине, к одному порту, а она в свою очередь коннектится к еще одной машине по другому порту.
Надо:
реализовать следующую схему
1й комп -> 2й комп -> 3й комп
3й комп -> 2й комп -> 1й комп

т.е. практически однохостовая прокси на одного клиента.
Пытался создавать на второй машине
TServerSocket, затем при подключении к этому сервер сокету первой машины создавать опять на второй машине TClientSocket и подключать его к третей. Затем пытался делать так
procedure TForm1.ServerSocket1ClientWrite(Sender: TObject;
Socket: TCustomWinSocket);
var
buf : Array[0..65535] of byte;
count : integer;
begin
count := Socket.ReceiveLength;
Socket.ReceiveBuf(buf, count);
ClientSocket1.Socket.SendBuf(buf,count);
end;

данные проходили.
затем, когда от третей машины мы получаем ответ делал так:
procedure TForm1.ClientSocket1Read(Sender: TObject;
Socket: TCustomWinSocket);
var
buf : Array[0..65535] of byte;
count : integer;
begin
count := Socket.ReceiveLength;
Socket.ReceiveBuf(buf, count);
ServerSocket1.Socket.SendBuf(buf,count);
//
end;
но эта процедура вобще не вызывалась :(

пытался при открытие клиентского сокета на второй машине сделать переназначение путем процедур Read и Write у обеих сокетов но там вобще ноль эмоций что туда что обратно.

Подскажите, как сделать нормально???


apple1   (2003-02-14 08:59:00) [1]

Так лучше:
ServerSocket1.Socket.Connections[0].SendBuf(buf,count);


Slym   (2003-02-14 08:49:00) [2]

D6 INDY > TTunelSocket или что-то похожее


Наверх

Титульная страница Поиск, карта сайта Написать письмо