Версия для печати темы

Нажмите сюда для просмотра этой темы в оригинальном формате

WinCity.Ru _ Программирование _ Перенаправления потока битов в Delphi

Автор: kotkywe Вторник, 23 Ноября 2004, 1:08

Задача: перенаправить поток битов с одного порта на другой.

Клиента и сервера я напишу на Delphi 7. Для соединения думаю пользоваться компонентами или из Indy или TcpClient/TcpServer (где-то читал, что последние ужасно глючат). Надо перенаправить данные идущие на компоненту (сервер) на другую компоненту (клиент) в одном приложении.

Например. Имеются 2 компьютера. 1 - Сервер, 2 - Клиент. У сервера внешний IP, у клиента - локальный(к нему закрыт доступ извне). На клиенте имеется программа-демон(RAdmin), открывающий для соединений определённый порт. Моя программа-клиент садится на этот порт и как бы создаёт туннель между моим сервером и собой. На сервере программа Radmin viewer по этому туннелю сможет достучаться до Radmin'а на клиенте.

Мне дали совет почитать про VPN, то это слишком сложно. Мне кажется, что моя задумка более проста. Быть может, уже есть подобные программы. Был бы рад на них поглядеть.

Автор: mokc0der Вторник, 23 Ноября 2004, 10:27

kotkywe, не парь себе мозги. RAdmin и так позволяет это сделать. Обрати внимание на надпись "Соединение через..."

Автор: MartS Среда, 28 Марта 2007, 0:25

public
tempsocket:tcustomwinsocket;

procedure TForm1.ServerSocket1Accept(Sender: TObject;
Socket: TCustomWinSocket);
begin
clientsocket1.Active :=true;
tempsocket:=socket;

end;

procedure TForm1.ServerSocket1ClientRead(Sender: TObject;
Socket: TCustomWinSocket);
var
str2:string;
begin
clientsocket2.Socket.Sendtext(socket.ReceiveText );
end;

procedure TForm1.ClientSocket1Read(Sender: TObject;
Socket: TCustomWinSocket);
begin
tempsocket.SendText(socket.ReceiveText);
end;

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)