![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Надо написать прокси на один порт и хост. [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 или что-то похожее