HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #4761  
Старый 31.10.2009, 12:16
slesh
Познавший АНТИЧАТ
Регистрация: 05.03.2007
Сообщений: 1,985
С нами: 10097606

Репутация: 3349


По умолчанию

Можно если найдешь 32-х битную версию и напишеш сам ICQ клиент.
Но вообще паскаль считай умер, юзай делфи. Ненравится размер - откажись от VCL
 
Ответить с цитированием

  #4762  
Старый 31.10.2009, 12:26
RAINUR2
Познающий
Регистрация: 27.08.2009
Сообщений: 33
С нами: 8792884

Репутация: 0
По умолчанию

ДА я это для интереса, не подскажите как на делфи???
 
Ответить с цитированием

  #4763  
Старый 31.10.2009, 12:51
Adekvatnyj
Участник форума
Регистрация: 28.10.2009
Сообщений: 129
С нами: 8703313

Репутация: 67
По умолчанию

Дайте книжку по Delphi "Програмирование для людей из раздела прогресирующего даунизма" или что то подобное, все книги сразу рассматривают готовое приложение, а переменные и постоянные не рассказано как делать.
 
Ответить с цитированием

  #4764  
Старый 31.10.2009, 14:35
=Zeus=
Участник форума
Регистрация: 10.08.2009
Сообщений: 238
С нами: 8817310

Репутация: 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;
 
Ответить с цитированием

  #4765  
Старый 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 (не по вашему случаю, но очень важно) - вылил на рапиду.
 
Ответить с цитированием

  #4766  
Старый 31.10.2009, 18:38
=Zeus=
Участник форума
Регистрация: 10.08.2009
Сообщений: 238
С нами: 8817310

Репутация: 108
По умолчанию

Цитата:
Сообщение от Пуховой  
=Zeus=, 10.5.5 вышла 19.12.2008, почти год назад. Поставьте версию поновее (вдруг поможет).

Сегодняшняя ревизия indy 10.5.7 (rev.3853), с пофиксенным TIdMultiPartFormData (не по вашему случаю, но очень важно) - вылил на рапиду.
Поставил. Не помогло
 
Ответить с цитированием

  #4767  
Старый 31.10.2009, 20:24
_nic
Постоянный
Регистрация: 05.05.2006
Сообщений: 743
С нами: 10535289

Репутация: 107


По умолчанию

В какой кодировке содержится текст в Memo ?
 
Ответить с цитированием

  #4768  
Старый 31.10.2009, 20:41
Patrik
Познающий
Регистрация: 15.01.2006
Сообщений: 45
С нами: 10693512

Репутация: 16
По умолчанию

Цитата:
Сообщение от _nic  
В какой кодировке содержится текст в Memo ?
ANSI, если не ошибаюсь.
 
Ответить с цитированием

  #4769  
Старый 31.10.2009, 21:11
ErrorNeo
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
тоже бесполено. Видимо изначально нужно как-то до-другому открывать сокет.


Заранее благодарю
 
Ответить с цитированием

  #4770  
Старый 01.11.2009, 01:10
bons
Участник форума
Регистрация: 20.12.2007
Сообщений: 295
С нами: 9679872

Репутация: 347
По умолчанию

зачем именно внутри одного? вообще считается что для каждого соединения надо создавать свой сокет.
по поводу Keep-Alive - не все серверы и не всегда будут слушаться этой инструкции. Тут желательно посмотреть что он отвечает, возможно там будет Connection: close
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Wi-Fi, BT] Задай вопрос - получи ответ! Alexsize Беспроводные технологии/Wi-Fi/Wardriving 2569 10.05.2026 13:27
[jQuery] - Задай вопрос, получи ответ Isis PHP 62 25.12.2009 03:25



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.