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

08.11.2009, 14:07
|
|
Новичок
Регистрация: 07.11.2009
Сообщений: 6
Провел на форуме: 35005
Репутация:
0
|
|
Сообщение от intNet
Зачем ты два раза подключаешься? Или ты думаешь, что во втором случае функция не выполняется? И да, как сказал wolmer функция inet_addr() принимает ip, а не хост.
Спс убрал убрав connect(a,addr,sizeof(addr)); конект удачен=) Конекчусь к IP
|
|
|

08.11.2009, 14:21
|
|
Новичок
Регистрация: 07.11.2009
Сообщений: 6
Провел на форуме: 35005
Репутация:
0
|
|
Собствено следуюший вопрос.. При конекте к серву, сервер посылает нам пакет.
Как получить и прочитать его? Используя Winsock
|
|
|

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

08.11.2009, 14:37
|
|
Постоянный
Регистрация: 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..
|
|
|

08.11.2009, 17:07
|
|
Новичок
Регистрация: 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;
Начал получать пакет целиком Спасибо=)
|
|
|

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

09.11.2009, 12:59
|
|
Новичок
Регистрация: 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
|
|
|

09.11.2009, 13:22
|
|
Участник форума
Регистрация: 02.07.2008
Сообщений: 132
Провел на форуме: 1035284
Репутация:
52
|
|
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 тоже остался на диске — это убережёт систему от повторного заражения.
подробности здесь
|
|
|

09.11.2009, 13:38
|
|
Постоянный
Регистрация: 27.10.2008
Сообщений: 380
Провел на форуме: 1249808
Репутация:
149
|
|
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;
что ты там дальше сказа я не очень понял, твоя основная проблема в том что ты путаешься в типах данных.
|
|
|

09.11.2009, 13:47
|
|
Постоянный
Регистрация: 27.10.2008
Сообщений: 380
Провел на форуме: 1249808
Репутация:
149
|
|
2 Пуховой, решил свою проблему?
я в таких случаях использую флаги, вроде нормально робит.
вообще правильно делать через симафоры или мьютексы.
это если я тебя правильно понял, wolmer тоже что такое когдато спрашивал, не помню ответили ему или нет.
|
|
|
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|