Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2011.12.18;
Скачать: CL | DM;

Вниз

html для отправки строки на сервер   Найти похожие ветки 

 
6136 ©   (2011-08-26 18:40) [0]

Здравствуйте,

воспользовался примером сервера с использованием компонента TIdTCPServer,
его свойства
DefaultPort 4444
Active true
имя приложения srv.exe
(сам пример ниже)

с telnet обмен проходит нормально:
ввожу: telnet 127.0.0.1 4444
отвечает:Type an integer and Enter
ввод: 4  (сервер принимает и в окошке memo1 сервера отображается "4")
отвечает: 4  squared is 16 и сообщает о разрыве соединения
----
пытаюсь отправить строку на этот же сервер со страницы index.html
srv.exe и index.html находятся в /interpub/wwwroot/

на ней размещаю:
<form action="127.0.0.1 4444" method="post">
 <input size="60" name="From">
 <p><input value="Отправить" type="submit"> </p>
 <p></p>
</form>

пробовал варианты action, например,
action="http://localhost/srv.exe"

в чем ошибка?
при нажатии кнопки в index.html сообщение о невозможности отобразить страницу.

Спасибо

procedure TForm1.IdTCPServer1Execute(AThread: TIdPeerThread);
var s: String;
   i: Integer;
begin
with AThread.Connection do
try
WriteLn("Type an integer and Enter");
s := ReadLn;
memo1.Lines.Add(s);
try
i := StrToInt(s);
WriteLn(s + " squared is " + IntToStr(i*i));
except
WriteLn(s + " is not an integer");
end;
finally
Disconnect;
end;  end;

добавил вывод поступающей строки в окошко TMemo

получил приложение
srv.exe
----


 
wicked ©   (2011-08-26 20:36) [1]

потому что telnet шлет в сокет сырые данные, которые читает твоя программа

а браузер использует для этого http протокол - http://ru.wikipedia.org/wiki/HTTP

поэтому, если хочешь посылать данные из браузера, тебе в программе нужно реализовать функциональность http сервера


 
6136 ©   (2011-08-26 23:34) [2]

спасибо,
с TIdHTTPServer что-то получилось,
данные, введенные в браузере на страничке index.html,
сервер получает и отображает в окошке,

неприятность: после нажатия кнопки ввода данных браузер вместо index.html пытается отобразить http://localhost:4444
4444 - порт, который я назначил серверу (приложение HTTPsrv.exe)

что нужно сделать, чтобы в браузере оставалась страничка index.html?


 
wicked ©   (2011-08-26 23:44) [3]

ну так пости свои данные на http://localhost:4444/index.html


 
6136 ©   (2011-08-27 10:17) [4]

не помогло, получается то же
правильно ли я понял?

в index.html исправил так:
<form action="http://localhost:4444/index.html" method="post">
 <input size="60" name="From">
 <p><input value="Отправить" type="submit"> </p>
 <p></p>
</form>


 
Медвежонок Пятачок ©   (2011-08-27 12:10) [5]

не помогло, получается то же

при нажатии кнопки в index.html сообщение о невозможности отобразить страницу.

Ну правильно. Страницу-то никто не сформировал и не отдал обратно.


 
6136 ©   (2011-08-27 12:53) [6]

где (в index.html или в в приложении сервера HTTPsrv.exe) и как именно указать, что после POST страница в браузере должна вернуться (или остаться?) та же, index.html, в которой вводилась строка для передачи методом POST?

index.html - html-стрница по умолчанию (загружается при наборе в браузере http://localhost)
физически index.html и серверное приложение HTTPsrv.exe размещаются в папке сервера с:\Inetpub\wwwroot

не могли бы вы привести строку кода (если это лишь строка), позволяющую вернуть в браузер ту же страницу index.html
или написать, что следует сделать
или где об этом почитать

чего-либо внятного по вопросу поиском разыскать не получилось


 
6136 ©   (2011-08-27 13:05) [7]

Спасибо, разобрался
в сервере в процедуре IdHTTPServer1CommandGet
добавил ResponseInfo.Redirect("http://localhost/index.html");


 
Anatoly Podgoretsky ©   (2011-08-27 14:47) [8]

> 6136  (27.08.2011 12:53:06)  [6]

Нигде, это решает сервер, а не клиент



Страницы: 1 вся ветка

Текущий архив: 2011.12.18;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.012 c
15-1315168191
Юрий
2011-09-05 00:29
2011.12.18
С днем рождения ! 5 сентября 2011 понедельник


1-1277298765
granulated
2010-06-23 17:12
2011.12.18
EInvalidPointer после выхода из функции.


8-1221403444
Nevalyashka
2008-09-14 18:44
2011.12.18
формат MusicXML


2-1315866669
WorkWork
2011-09-13 02:31
2011.12.18
SQL-запрос в Access


15-1314915157
картман
2011-09-02 02:12
2011.12.18
посоветуйте UPS