
31.10.2009, 18:06
|
|
Banned
Регистрация: 25.11.2007
Сообщений: 62
С нами:
9715564
Репутация:
89
|
|
=Zeus=, 10.5.5 вышла 19.12.2008, почти год назад. Поставьте версию поновее (вдруг поможет).
Сегодняшняя ревизия indy 10.5.7 (rev.3853), с пофиксенным TIdMultiPartFormData (не по вашему случаю, но очень важно) - вылил на рапиду.
|
|
|

31.10.2009, 18:38
|
|
Участник форума
Регистрация: 10.08.2009
Сообщений: 238
С нами:
8817310
Репутация:
108
|
|
Сообщение от Пуховой
=Zeus=, 10.5.5 вышла 19.12.2008, почти год назад. Поставьте версию поновее (вдруг поможет).
Сегодняшняя ревизия indy 10.5.7 (rev.3853), с пофиксенным TIdMultiPartFormData (не по вашему случаю, но очень важно) - вылил на рапиду.
Поставил. Не помогло 
|
|
|

31.10.2009, 20:24
|
|
Постоянный
Регистрация: 05.05.2006
Сообщений: 743
С нами:
10535289
Репутация:
107
|
|
В какой кодировке содержится текст в Memo ?
|
|
|

31.10.2009, 20:41
|
|
Познающий
Регистрация: 15.01.2006
Сообщений: 45
С нами:
10693512
Репутация:
16
|
|
Сообщение от _nic
В какой кодировке содержится текст в Memo ?
ANSI, если не ошибаюсь.
|
|
|

31.10.2009, 21:11
|
|
Moderator - Level 7
Регистрация: 02.05.2009
Сообщений: 894
С нами:
8960826
Репутация:
2261
|
|
предыдущую копию этого вопроса (2 дня назад) удалил, по прежнему актуально.
не верю что совершенно никто не знает
за решение с меня +10.
вопрос:
как реализовать периодический отстук приложения внутри одного сокета?
Вариант, который отстукивает каждые 60 секунд создавая новый сокет:
Код:
WSAStartup(MAKEWORD(2,0), wsaData);
while not terminated do
begin
sleep(60000);
s:=socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);
FillChar(addr, SizeOf(sockaddr_in), 0);
addr.sin_family:=AF_Inet;
addr.sin_addr.S_addr:=inet_addr('111.22.33.44');
addr.sin_port:=htons(80);
Connect(S,addr,SizeOf(TSockAddr));
sendbuff :=
'GET / HTTP/1.1'+ #13#10 +
'Host: 111.22.33.44'+ #13#10#13#10;
send(s, sendbuff[1] , Length(sendbuff), 0);
closesocket(s);
end;
WSACleanup;
Если вписать строку с send 2 раза(метод научного тыка), то на второй отстук внутри того же сокета ответа от хоста не будет. Добавлять
Keep-Alive: 300
Connection: Keep-Alive
тоже бесполено. Видимо изначально нужно как-то до-другому открывать сокет.
Заранее благодарю
|
|
|

01.11.2009, 16:16
|
|
Участник форума
Регистрация: 10.08.2009
Сообщений: 238
С нами:
8817310
Репутация:
108
|
|
Сообщение от ErrorNeo
предыдущую копию этого вопроса (2 дня назад) удалил, по прежнему актуально.
не верю что совершенно никто не знает
за решение с меня +10.
вопрос:
как реализовать периодический отстук приложения внутри одного сокета?
Вон, на Делфикингдоме прочитал:
Сокет, созданный с помощью функции Socket, не привязан ни к какому адресу. Привязка осуществляется с помощью функции Bind, имеющей следующий прототип:
Код:
function Bind(S:TSocket;var Addr:TSockAddr;NameLen:Integer):Integer;
Первый параметр этой функции - дескриптор сокета, который привязывается к адресу. Здесь, как и в остальных подобных случаях, требуется передать значение, которое вернула функция Socket. Второй параметр содержит адрес, к которому требуется привязать сокет, а третий - длину структуры, содержащей адрес.
Может в этом проблема, если 2 раза send написать? Ну, думаю не стоит упоминать, что между ними должен быть sleep(). А может действительно проблема в сервере...
Последний раз редактировалось =Zeus=; 01.11.2009 в 16:21..
|
|
|

01.11.2009, 01:10
|
|
Участник форума
Регистрация: 20.12.2007
Сообщений: 295
С нами:
9679872
Репутация:
347
|
|
зачем именно внутри одного? вообще считается что для каждого соединения надо создавать свой сокет.
по поводу Keep-Alive - не все серверы и не всегда будут слушаться этой инструкции. Тут желательно посмотреть что он отвечает, возможно там будет Connection: close
|
|
|

01.11.2009, 02:31
|
|
Новичок
Регистрация: 12.10.2009
Сообщений: 5
С нами:
8726737
Репутация:
0
|
|
Я взломал точку, все пароль пишу но мне видает что сеть ограничено или отсутствует что это? раньше все норм было подключался
|
|
|

01.11.2009, 14:27
|
|
Участник форума
Регистрация: 21.03.2009
Сообщений: 207
С нами:
9021828
Репутация:
119
|
|
Здравствуйте, пишу автореггер на один сайт и требуется сделать его многопоточным , знаю что нужно делать с помощью TThread , но что то не получается(
Запросы отправляются через IdHttp
|
|
|

01.11.2009, 14:32
|
|
Постоянный
Регистрация: 12.05.2009
Сообщений: 395
С нами:
8947056
Репутация:
229
|
|
Сообщение от Nizhegorodets
Здравствуйте, пишу автореггер на один сайт и требуется сделать его многопоточным , знаю что нужно делать с помощью TThread , но что то не получается(
Запросы отправляются через IdHttp
Хороший пример: http://forum.antichat.ru/threadnav143556-1-10.html
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|