>Форум Mozilla Россия http://forum.mozilla-russia.org/index.php >Разработка http://forum.mozilla-russia.org/viewforum.php?id=18 >POST запросы http://forum.mozilla-russia.org/viewtopic.php?id=4858 |
LostCodder > 03-09-2005 12:40:03 |
Никак не могу понять, каким образом Firefox передает данные через POST запросы.. "POST /chat HTTP/1.1 nick=user" Здесь видно, что в конце находится информация о той самой переменной "nick" А вот запрос Firefox'а: "POST /chat HTTP/1.1 Здесь нет ничего о переменной "nick".. как же тогда передается информация при POST запросе ? |
Azathoth > 03-09-2005 14:31:50 |
Абсолютно так же, как и везде. Вы видно что-то упустили. |
LostCodder > 03-09-2005 14:50:05 |
Код простой.. есть сервер.. при поступлении какого либо сообщения от клиента, текст сообщения пишется в лог. С Оперой и Ослом все нормально.. а в конце сообщения от Файрфокса, данных нету.. <form method=POST action=http://localhost/chat> |
Azathoth > 03-09-2005 14:58:53 |
LostCodder
А где value? |
LostCodder > 03-09-2005 15:00:46 |
дык это текстовое поле.. Value вводить надо ) |
Azathoth > 03-09-2005 15:09:27 |
Только что проверил. Все работает. |
LostCodder > 03-09-2005 15:13:25 |
хм.. ну хорошо procedure TForm1.ServerSocket1ClientRead(Sender: TObject; Socket: TCustomWinSocket); |
Azathoth > 03-09-2005 15:22:18 |
Хм... Сервер на Делфи это конечно круто, но я имел в виду HTML код |
Azathoth > 03-09-2005 15:24:57 |
Кстати, может эту часть попробовать в цикл оформить до того момента пока будет выполняться socket.ReceiveText. |
LostCodder > 03-09-2005 16:03:59 |
как это? и зачем? |
LattyF > 03-09-2005 16:04:53 |
[joke] |
Azathoth > 03-09-2005 16:31:53 |
LostCodder
Как - это надо у вас спросить Я на делфи не пишу. (Писал на Билдере и то давно. Под винду перешел на чистый winAPI пару лет назад) Ну надо посмотреть что возвращает функция в случае окончания приема, и в цикле проверять на это значение, пока оно не попадется. А до этого времени : mess += socket.ReceiveText; |
LattyF > 03-09-2005 16:47:41 |
Athathoth пишет
Это точно. Я когда писал на Delphi (давно дело было). Замучился с этим багой/фичей. Лучше сразу на WinSocks писать и не мучиться. Цикл действительно сделать надо. Волосы от ужаса на голове встают. Такой код дебильный получится. Убить Borland надо за такую реализацию. |
LostCodder > 03-09-2005 17:03:17 |
А можете код цикла кинуть? до меня че то не доходит, как его реализовать ) |
LattyF > 03-09-2005 17:05:31 |
Выделить код Код:while (не опупеешь) do begin memo1.Lines.Add(socket.ReceiveText); Application.ProcessMessages; //А то все повиснет. sleep(100); // или как там в Delphi end; |
LostCodder > 03-09-2005 17:20:03 |
Меня интересует как раз та часть, где "(не опупеешь)" |
Azathoth > 03-09-2005 17:22:31 |
LostCodder |
LostCodder > 03-09-2005 17:25:11 |
function ReceiveText: string; Description Use ReceiveText to read a string from the socket connection in the OnSocketEvent event handler of a Windows socket object or in the OnRead or OnClientRead event handler of a socket component. ReceiveText returns the string that was read. ReceiveText only works in response to a read notification to a non-blocking windows socket. Blocking sockets must use a TWinSocketStream for reading. The TWinSocketStream object waits for the remote socket to be ready before transferring information. |
LattyF > 03-09-2005 17:28:36 |
Написано же
. |
LostCodder > 03-09-2005 17:32:19 |
и что? я использую non-blocking |
Azathoth > 03-09-2005 17:35:17 |
LostCodder |
LostCodder > 03-09-2005 17:41:21 |
ничего подобного нету ( |
ViRUS > 03-09-2005 17:45:41 |
LostCodder |
LostCodder > 03-09-2005 17:50:22 |
ViRUS, как? |
Azathoth > 03-09-2005 18:07:46 |
Может тут решение найдется? |
LostCodder > 03-09-2005 19:34:02 |
Athathoth, нет, не прокатит.. там клиентскую часть делают так, что посылается информация об отправляемом тексте.. типа, размер и все такое.. но в моем случае клиентом является браузер |
Unghost > 03-09-2005 21:09:01 |
==> Разработка |