ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.

31.10.2009, 12:16
|
|
Reservists Of Antichat - Level 6
Регистрация: 05.03.2007
Сообщений: 1,985
Провел на форуме: 3288241
Репутация:
3349
|
|
Можно если найдешь 32-х битную версию и напишеш сам ICQ клиент.
Но вообще паскаль считай умер, юзай делфи. Ненравится размер - откажись от VCL
|
|
|

31.10.2009, 12:26
|
|
Познающий
Регистрация: 27.08.2009
Сообщений: 33
Провел на форуме: 62823
Репутация:
0
|
|
ДА я это для интереса, не подскажите как на делфи???
|
|
|

31.10.2009, 12:51
|
|
Участник форума
Регистрация: 28.10.2009
Сообщений: 129
Провел на форуме: 460561
Репутация:
67
|
|
Дайте книжку по Delphi "Програмирование для людей из раздела прогресирующего даунизма" или что то подобное, все книги сразу рассматривают готовое приложение, а переменные и постоянные не рассказано как делать.
|
|
|

31.10.2009, 14:35
|
|
Участник форума
Регистрация: 10.08.2009
Сообщений: 238
Провел на форуме: 724939
Репутация:
108
|
|
Здравствуйте, уважаемые античатовцы. У меня возникла неожиданная проблемма с Indy. Программа должна делать загрузку файлов на хостинг. В процессе тестирования выяснилось, что программа отправляет в 2 раза больше трафика: если я загружал файл на 2 Мб - реально моя программа отправляет чуть больше 4-х. Я растерян. Кто встречался с подобным, подскажите решение проблеммы. Пользують D2010, Indy 10.5.5. Спасибо за внимание.
Код загрузки:
Код:
function Upload(AURL, AFile: string): string;
var formData: TIdMultiPartFormDataStream;
begin
formData := TIdMultiPartFormDataStream.Create;
try
// Добаляю параметры в formData
// и файл:
formData.AddFile('upsingle',AFile,GetContentType(AFile));
try
Result := idHTTP.Post(AURL,formData);
except
Result := '';
end;
finally
formData.Free;
end;
end;
|
|
|

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

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

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

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

31.10.2009, 21:11
|
|
Moderator - Level 7
Регистрация: 02.05.2009
Сообщений: 894
Провел на форуме: 4297091
Репутация:
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, 01:10
|
|
Участник форума
Регистрация: 20.12.2007
Сообщений: 295
Провел на форуме: 1777055
Репутация:
347
|
|
зачем именно внутри одного? вообще считается что для каждого соединения надо создавать свой сокет.
по поводу Keep-Alive - не все серверы и не всегда будут слушаться этой инструкции. Тут желательно посмотреть что он отвечает, возможно там будет Connection: close
|
|
|
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|