ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > Программирование_OLD > С/С++, C#, Delphi, .NET, Asm
   
 
 
Опции темы Поиск в этой теме Опции просмотра

  #4831  
Старый 08.11.2009, 14:07
Tribal_0_o
Новичок
Регистрация: 07.11.2009
Сообщений: 6
Провел на форуме:
35005

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

Цитата:
Сообщение от intNet  
Зачем ты два раза подключаешься? Или ты думаешь, что во втором случае функция не выполняется? И да, как сказал wolmer функция inet_addr() принимает ip, а не хост.
Спс убрал убрав connect(a,addr,sizeof(addr)); конект удачен=) Конекчусь к IP
 

  #4832  
Старый 08.11.2009, 14:21
Tribal_0_o
Новичок
Регистрация: 07.11.2009
Сообщений: 6
Провел на форуме:
35005

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

Собствено следуюший вопрос.. При конекте к серву, сервер посылает нам пакет.
Как получить и прочитать его? Используя Winsock
 

  #4833  
Старый 08.11.2009, 14:36
slesh
Reservists Of Antichat - Level 6
Регистрация: 05.03.2007
Сообщений: 1,985
Провел на форуме:
3288241

Репутация: 3349


Отправить сообщение для slesh с помощью ICQ
По умолчанию

recv
 

  #4834  
Старый 08.11.2009, 14:37
wolmer
Постоянный
Регистрация: 12.05.2009
Сообщений: 395
Провел на форуме:
4761503

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

Цитата:
Сообщение от Tribal_0_o  
Собствено следуюший вопрос.. При конекте к серву, сервер посылает нам пакет.
Как получить и прочитать его? Используя Winsock
К примеру

Код:
 t:TSocket;
 send1:string;
 send1buf:array [0..5000] of char;
 recv1buf:array [0..5000] of char;
 dsize:Word;
 recvstr:string;
Код:
    send1:='GET http://site.ru/'+#13#10+
'User-Agent: Opera/9.80 (Windows NT 5.1; U; ru) Presto/2.2.15 Version/10.00'+#13#10+
'Host: site.ru'+#13#10+
'Accept: text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1'+#13#10+
'Accept-Language: ru-RU,ru;q=0.9,en;q=0.8'+#13#10+
'Accept-Charset: iso-8859-1, utf-8, utf-16, *;q=0.1'+#13#10+
'Accept-Encoding: deflate, gzip, x-gzip, identity, *;q=0'+#13#10+
'Cookie: test=test1'+#13#10+
'Cookie2: $Version=1'+#13#10+
'Connection: Keep-Alive'+#13#10+#13#10;
    CopyMemory(@send1buf,pchar(send1),length(send1));
    send(t,send1buf,sizeof(send1buf),0);
    //В случае если мы напишем recv(t, recv1buf, 4096, 0);
    //То весь пакет не дойдет, поэтому мы связываемся с циклом
    repeat
     recv1buf:='';
     dSize:=recv(t, recv1buf, 4096, 0);
     recvstr:=recvstr+recv1buf;
    until (dSize = 0) or (dSize = SOCKET_ERROR);
Дальше в recvstr будет пакет в виде html
(#13#10 - перенос строки)
(при коннекте сервер нам дает знать что мы подключились но он нам не посылает пакет, он нам посылает пакет когда мы ему послали пакет (т.е. сервер отвечает на наши пакеты))
(писал прямо здесь, так что особо не ругаться на ошибки)

Последний раз редактировалось wolmer; 08.11.2009 в 14:49..
 

  #4835  
Старый 08.11.2009, 17:07
Tribal_0_o
Новичок
Регистрация: 07.11.2009
Сообщений: 6
Провел на форуме:
35005

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

Цитата:
Сообщение от wolmer  
К примеру

Код:
 t:TSocket;
 send1:string;
 send1buf:array [0..5000] of char;
 recv1buf:array [0..5000] of char;
 dsize:Word;
 recvstr:string;
Код:
    send1:='GET http://site.ru/'+#13#10+
'User-Agent: Opera/9.80 (Windows NT 5.1; U; ru) Presto/2.2.15 Version/10.00'+#13#10+
'Host: site.ru'+#13#10+
'Accept: text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1'+#13#10+
'Accept-Language: ru-RU,ru;q=0.9,en;q=0.8'+#13#10+
'Accept-Charset: iso-8859-1, utf-8, utf-16, *;q=0.1'+#13#10+
'Accept-Encoding: deflate, gzip, x-gzip, identity, *;q=0'+#13#10+
'Cookie: test=test1'+#13#10+
'Cookie2: $Version=1'+#13#10+
'Connection: Keep-Alive'+#13#10+#13#10;
    CopyMemory(@send1buf,pchar(send1),length(send1));
    send(t,send1buf,sizeof(send1buf),0);
    //В случае если мы напишем recv(t, recv1buf, 4096, 0);
    //То весь пакет не дойдет, поэтому мы связываемся с циклом
    repeat
     recv1buf:='';
     dSize:=recv(t, recv1buf, 4096, 0);
     recvstr:=recvstr+recv1buf;
    until (dSize = 0) or (dSize = SOCKET_ERROR);
Дальше в recvstr будет пакет в виде html
(#13#10 - перенос строки)
(при коннекте сервер нам дает знать что мы подключились но он нам не посылает пакет, он нам посылает пакет когда мы ему послали пакет (т.е. сервер отвечает на наши пакеты))
(писал прямо здесь, так что особо не ругаться на ошибки)
У меня "особенный сервер)" игры Lineage.И при конекте к серверу он сразу же посылат пакет.. Конект и просмотр этого пакета через TCPClient у меня получаться а в вот через Winsock не получалось.. Я получал Длину пакета. Но взяв из вашего примера :
Код:
recv1buf:='';
 recvstr:=recvstr+recv1buf;
Начал получать пакет целиком Спасибо=)
 

  #4836  
Старый 08.11.2009, 20:17
Adekvatnyj
Участник форума
Регистрация: 28.10.2009
Сообщений: 129
Провел на форуме:
460561

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

Подскажите у меня проблема, ее я постил 2 страницы назад, но мне не помогли.
Скачал 3 разных пакета дельфи 7.0, переустанавливал каждую по 3 раза.
Дальше та же ошибка, скрин:
_http://s39.radikal.ru/i086/0911/c7/26f9f43cdf97.png
Винду переустановить не могу, так как бухгалтерии всякие.
 

  #4837  
Старый 09.11.2009, 12:59
woolfon
Новичок
Регистрация: 04.05.2008
Сообщений: 7
Провел на форуме:
35431

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

Код:
 if edit5.text < '5' then
  showmessage('Минимальное значение для таймера "5" сек.') else
  begin
   timer1.Interval:= strtoint(edit5.text + '000');
   timer1.enabled:=true;
   edit5.ReadOnly:= true;
  end;
вообщем есть edit1, нужно так, если значение от ноля до 5(не включительно) вывод сообщения, это все работает, при значениях от 5 до 9 все тоже ровно, а вот от 10 до 99 начинает выскакивать шоумеседж, почему? напарился уже ниче в голову не лезет, вроде пустяк такой... в свойсвах едитки макс. кол-во символов стоит 2
 

  #4838  
Старый 09.11.2009, 13:22
transserg
Участник форума
Регистрация: 02.07.2008
Сообщений: 132
Провел на форуме:
1035284

Репутация: 52
Отправить сообщение для transserg с помощью ICQ
По умолчанию

Adekvatnyj проверь возможно оно.
Цитата:
Внимание всем, использующим Delphi c 4 по 7 !

Специфичный Delphi-вирус
В интернете появился специфичный для Delphi вирус. Суть его в том, что заражённая программа ищет на диске установленные версии Delphi и, если находит, изменяет файл SysConst.dcu (старая версия сохраняется под именем SysConst.bak), и после этого все программы на Delphi, скомпилированные на этом компьютере, начинают точно так же заражать Delphi на тех компьютерах, где они запускаются. Распространению вируса способствовало то, что некторые версии популярного мессенджера QIP оказались заражены им (команда разработчиков QIP приносит за это свои извинения). Пока единственный обнаруженный вредный эффект от вируса — это то, что из-за ошибки в его коде при запуске заражённой программы возникает Runtime error 3, если ключ реестра HKEY_LOCAL_MACHINE\SOFTWARE\Borland \Delphi\x.0 (x — от 4 до 7) содержит неправильное значение параметра RootDir (для правильного значение ошибки не происходит). Видимо, просто обкатывалась технология распространения вируса.

Проверьте свои версии Delphi и, если найдёте у себя SysConst.bak, выполните следующие действия:
1. Удалите SysConst.dcu
2. Скопируйте SysConst.bak в SysConst.dcu. Важно именно скопировать, а не переименовать, чтобы SysConst.bak тоже остался на диске — это убережёт систему от повторного заражения.

подробности здесь
 

  #4839  
Старый 09.11.2009, 13:38
RumShun
Постоянный
Регистрация: 27.10.2008
Сообщений: 380
Провел на форуме:
1249808

Репутация: 149
Отправить сообщение для RumShun с помощью ICQ
По умолчанию

Цитата:
if edit5.text < '5' then
showmessage('Минимальное значение для таймера "5" сек.') else
begin
timer1.Interval:= strtoint(edit5.text + '000');
timer1.enabled:=true;
edit5.ReadOnly:= true;
end;
ну ты даешь, строки сравниваешь!
if strtoint(edit5.text) < 5 then
showmessage('Минимальное значение для таймера "5" сек.') else
begin
timer1.Interval:= strtoint(edit5.text) *1000;
timer1.enabled:=true;
edit5.ReadOnly:= true;
end;
что ты там дальше сказа я не очень понял, твоя основная проблема в том что ты путаешься в типах данных.
 

  #4840  
Старый 09.11.2009, 13:47
RumShun
Постоянный
Регистрация: 27.10.2008
Сообщений: 380
Провел на форуме:
1249808

Репутация: 149
Отправить сообщение для RumShun с помощью ICQ
По умолчанию

2 Пуховой, решил свою проблему?
я в таких случаях использую флаги, вроде нормально робит.
вообще правильно делать через симафоры или мьютексы.
это если я тебя правильно понял, wolmer тоже что такое когдато спрашивал, не помню ответили ему или нет.
 
 





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


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




ANTICHAT.XYZ