Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Работа с сетью в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.02.2011, 15:43   #1
Smirnoff
Новичок
Джуниор
 
Регистрация: 22.07.2009
Сообщений: 2
По умолчанию TEmbeddedWB и Proxy из Server$ClientSocket

Добрый день всем гуру этого замечательного форума!
Хочется написать свой браузер на базе TEmbeddedWB и направлять его на собственный Proxy в этой же программе Proxy решил писать на Server$ClientSocket.

Результат хотел получить такой:
Браузер отправляет запрос на сайт через ServerSocket, ServerSocket получает пакет обрабатывает и отправляет дальше на сервер через ClientSocket, ClientSocket получает ответ от сервера обрабатывает его и отправляет его браузеру через ServerSocket вроде бы все должно работать но у меня подводный камень!
В сокетах я полный нуб, да и вобще на программиста я не учился все знания вытягиваю с интернета но решения своей проблемы не нашол

Проблема заключается в том что если перед отправлением пакета на ClientSocket посмотреть пакет в ShowMessage цыпочка работает нормально но как только убираешь ShowMessage из события ServerSocket.OnServerSocketClientRe ad все это дело перестает работать и у меня нет ни одной мысли почему это так ))
Может кто нибудь знает где я чего не дописал или ошибся в чем?
Или может кто знает как я могу более разумным способом написать все это?

Вот события которые у меня есть в программе
PHP код:
procedure TMainForm.FormCreate(SenderTObject);
begin
  ServerSocket
.Active:=True;
  new(
piinfo);
  
piinfo^.dwaccesstype := internet_open_type_proxy;
  
piinfo^.lpszproxy := pchar('127.0.0.1:8080');
  
piinfo^.lpszproxybypass := pchar('');
  
urlmksetsessionoption(internet_option_proxypiinfosizeof(internet_proxy_info), 0);

  
EmbeddedWB.Navigate('http://wm.sytes.net/');
end;

procedure TMainForm.FormClose(SenderTObject; var ActionTCloseAction);
begin
  dispose
(piinfo);
end;

procedure TMainForm.ServerSocketClientRead(SenderTObjectSocketTCustomWinSocket);
var 
PacketFromClientString;
begin
     PacketFromClient
:=Socket.ReceiveText;
     
ShowMessage(PacketFromClient);
     
Logs.Lines.Add('### Server Receive Text: '+PacketFromClient);
     
ClientSocket.Socket.SendText(PacketFromClient);
end;

procedure TMainForm.ClientSocketRead(SenderTObjectSocketTCustomWinSocket);
var 
PacketFromServerString;
begin
     PacketFromServer
:=Socket.ReceiveText;
     
Logs.Lines.Add('### Client Receive Text: '+PacketFromServer);
     
ServerSocket.Socket.Connections[0].SendText(PacketFromServer);
end;

procedure TMainForm.ServerSocketClientConnect(SenderTObject;
  
SocketTCustomWinSocket);
begin
     ClientSocket
.Host:='wm.sytes.net';
     
ClientSocket.Port:=80;
     
ClientSocket.Active:=true;
     
Logs.Lines.Add('### Server Client Connected');
end
А вот опци сокетов
PHP код:
object ServerSocketTServerSocket
    Active 
False
    Port 
8080
    ServerType 
stNonBlocking
    ThreadCacheSize 
8192
    OnClientConnect 
ServerSocketClientConnect
    OnClientRead 
ServerSocketClientRead
    Left 
8
    Top 
88
  end
  object ClientSocket
TClientSocket
    Active 
False
    ClientType 
ctNonBlocking
    Port 
0
    OnRead 
ClientSocketRead
    Left 
40
    Top 
88
  end 
Smirnoff вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Proxy Server Indy GvR Работа с сетью в Delphi 4 14.08.2014 22:08
proxy server Rustr1957 Microsoft Office Access 0 19.11.2010 16:04
Подключение через Server\ClientSocket к внутресетевому IP ChukCha Работа с сетью в Delphi 6 06.12.2009 08:54
Server & ClientSocket как без ip delphin100 Работа с сетью в Delphi 20 16.01.2008 17:12