HOME    FORUMS    MEMBERS    RECENT POSTS    LOG IN  
Баннер 1   Баннер 2

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

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

  #5511  
Старый 01.02.2010, 00:52
Ponchik
Постоянный
Регистрация: 30.08.2005
Сообщений: 730
Провел на форуме:
6828219

Репутация: 2274


По умолчанию

Цитата:
Сообщение от n1ghtstalker  
хз , как то в delphях ещё 0. но если нет предопр. оператора,просто open и ищешь элементы.
не не, я так ничё непонял, покажи пример =\
Вот в пыхе на пример
PHP код:
while(!feof($socket)) читать ответ 
А вот в дельфи как
=========
Всё, забейте, переписал прогу на пых, работает в мильён раз быстрее

Последний раз редактировалось Ponchik; 01.02.2010 в 02:58..
 
Ответить с цитированием

  #5512  
Старый 02.02.2010, 19:31
iGlass
Познающий
Регистрация: 14.05.2009
Сообщений: 92
Провел на форуме:
299447

Репутация: 5
Question

Вопрос не совсем по Delphi, но..

У меня возникла сложность, запускаю службу Telnet, Запускаю cmd коннекчусь, но какие стандартные логин и пароль? Вводил имя учётки но на ней нет пароля.. В общем если кто знает, подскажите.

Заранее спасибо!

P.S А то я уже себе всю голову сломал...

Последний раз редактировалось iGlass; 02.02.2010 в 19:34..
 
Ответить с цитированием

  #5513  
Старый 03.02.2010, 21:21
iGlass
Познающий
Регистрация: 14.05.2009
Сообщений: 92
Провел на форуме:
299447

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

Хочу записать в файл N кол-во символов.

Вот код:

Код:
 {....................}
  const
  Text = 'Это я хочу записать в файл!'; // Отсюда буду писать

var
  FileHandel:Integer;
  DS:integer;

 begin
    DS:=50; // Кол-во символов
    FileHandel := FileCreate(Pchar('samplefile.samp'),0);
    FileOpen('samplefile.samp',fmOpenReadWrite);
    FileWrite(FileHandel,Text,DS);
    FileClose(FileHandel);
 end.

Так вот вопрос, как программно посчитать сколько символов записали и сколько осталось?

Чтобы не указывать переменную DS (Сколько мне надо записать)

Заранее спасибо!
 
Ответить с цитированием

  #5514  
Старый 04.02.2010, 18:11
iGlass
Познающий
Регистрация: 14.05.2009
Сообщений: 92
Провел на форуме:
299447

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

Уже разобрался в чём причина.. ) Если кому интересно то вот решение:

Цитата:
FileWrite(FileHandel,Text,Length(Text));
 
Ответить с цитированием

  #5515  
Старый 04.02.2010, 19:02
090808
Познающий
Регистрация: 15.03.2009
Сообщений: 87
Провел на форуме:
893829

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

PHP код:
procedure TForm1.Button8Click(SenderTObject); 
var 
StrPagessylka:string
    
Data:TstringList
begin 
 idhttp1
.HandleRedirects:=true
 
StrPage:=idhttp1.Get('http://***.jino.ru/panel/rcon.php/'); 
 
Data:=TstringList.Create
 
Data.Add('ip=**.**.**.**'); 
 
Data.Add('port=7777'); 
 
Data.Add('pass=*****'); 
 
Data.Add('cmd=chat'); 
 
Data.Add('submit=Отправить запрос'); 
 
StrPage:=idhttp1.Post(ssylkaData); 
 
Data.Free
end

После этого всего нужно получить в memo1, ответ от страницы


Заранее спасибо.

Последний раз редактировалось 090808; 04.02.2010 в 19:07..
 
Ответить с цитированием

  #5516  
Старый 04.02.2010, 20:11
Nightmarе
Познавший АНТИЧАТ
Регистрация: 29.04.2007
Сообщений: 1,189
Провел на форуме:
5749763

Репутация: 1680


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

Помогите разобратсья с проблеммой. Есть функция на WinSock для отправки GET запроса на сервер, мне нужно запустить её в бесконечном цикле, чтобы она так и слала запрос на сервер.
Но проблемма в том, что если её запустить в бесконечном цикле, то программа начинает открывать огромное количество соединений, и до тех пор, пока компьютер окончательно не повиснет.
Помогите кто сможет, вот функция:
Код:
function fWSRecv(wHost, wRequest: string):string;
var
hSocket: TSocket;
hHost: PHostEnt;
hAddr: TSockAddrIn;
hTimeout: TTimeVal;
iRead: integer;
hBuffer: array[0..buffsize] of char;
begin

 hSocket := socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
 hHost := gethostbyname(PChar(wHost));
 hAddr.sin_family := AF_INET;
 hAddr.sin_port := htons(80);
 hAddr.sin_addr := pinaddr(hHost^.h_addr^)^;
 hTimeout.tv_usec := 0;
 hTimeout.tv_sec := mstimeout;
 setsockopt(hSocket, SOL_SOCKET, SO_RCVTIMEO, @hTimeout, sizeof(ttimeval));
 connect(hSocket, hAddr, SizeOf(hAddr));

 Send(hSocket, wRequest[1], length(wRequest), 0);
 while (TRUE) do
 begin
  FillChar(hBuffer, SizeOf(hBuffer), 0);
  iRead := Recv(hSocket, hBuffer, length(hBuffer), 0);
//  hData := hData + copy(hBuffer, 0, iRead);
  if (iRead <= 0) then break;
 end;
 CloseSocket(hSocket);
//result := hData;
end;
Вызываю так:
WSAStartup($202, wsData);
fWSRecv('localhost',
'GET /log/ass.php' + #13#10 +
'Host: localhost' + #13#10 +
'User-Agent: Mozilla/5.0' + #13#10 +
'Accept: text/html' + #13#10 +
'Accept-Language: ru' + #13#10 +
'Accept-Charset: windows-1251' + #13#10 +
'Connection: close' + #13#10#13#10);

Где бы я не ставил цикл "while true do", хоть в самой функции, хоть перед вызовом fWSRecv, всё одно и тоже. Данные шлёт, но не долго, пока комп не упадёт =))
Что тут можно сделать, чтобы он бесконечно посылал запрос на сервер при этом не нагружая компьютер и не открывая кучу ненужных соединений?
 
Ответить с цитированием

  #5517  
Старый 04.02.2010, 20:27
GlooK
Участник форума
Регистрация: 20.04.2007
Сообщений: 174
Провел на форуме:
2310282

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

Цитата:
Сообщение от Nightmarе  
Где бы я не ставил цикл "while true do", хоть в самой функции, хоть перед вызовом fWSRecv, всё одно и тоже. Данные шлёт, но не долго, пока комп не упадёт =))
Что тут можно сделать, чтобы он бесконечно посылал запрос на сервер при этом не нагружая компьютер и не открывая кучу ненужных соединений?
Это ж моя функция))

По теме: если возвращаемые значения не важны, то попробуй убрать код:
Код:
 while (TRUE) do
 begin
  FillChar(hBuffer, SizeOf(hBuffer), 0);
  iRead := Recv(hSocket, hBuffer, length(hBuffer), 0);
//  hData := hData + copy(hBuffer, 0, iRead);
  if (iRead <= 0) then break;
 end;
 
Ответить с цитированием

  #5518  
Старый 04.02.2010, 20:32
GlooK
Участник форума
Регистрация: 20.04.2007
Сообщений: 174
Провел на форуме:
2310282

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

Цитата:
Сообщение от 090808  


После этого всего нужно получить в memo1, ответ от страницы


Заранее спасибо.
Добавь в конец строку
PHP код:
Memo1.Lines.Add(StrPage); 
 
Ответить с цитированием

  #5519  
Старый 04.02.2010, 22:22
Nightmarе
Познавший АНТИЧАТ
Регистрация: 29.04.2007
Сообщений: 1,189
Провел на форуме:
5749763

Репутация: 1680


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

Цитата:
Сообщение от GlooK  
Это ж моя функция))

По теме: если возвращаемые значения не важны, то попробуй убрать код:
Код:
 while (TRUE) do
 begin
  FillChar(hBuffer, SizeOf(hBuffer), 0);
  iRead := Recv(hSocket, hBuffer, length(hBuffer), 0);
//  hData := hData + copy(hBuffer, 0, iRead);
  if (iRead <= 0) then break;
 end;
К сожалению не помогает, если ещё есть варианты, просьба написать.
 
Ответить с цитированием

  #5520  
Старый 04.02.2010, 23:21
[stranger]
Участник форума
Регистрация: 02.02.2010
Сообщений: 107
Провел на форуме:
612028

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

не знаю..
в таком виде:
Цитата:
function fWSRecv(wHost, wRequest: string):string;
var
hSocket: TSocket;
hHost: PHostEnt;
hAddr: TSockAddrIn;
hTimeout: TTimeVal;
begin

hSocket := socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
hHost := gethostbyname(PChar(wHost));
hAddr.sin_family := AF_INET;
hAddr.sin_port := htons(80);
hAddr.sin_addr := pinaddr(hHost^.h_addr^)^;
hTimeout.tv_usec := 0;
hTimeout.tv_sec := 10;
setsockopt(hSocket, SOL_SOCKET, SO_RCVTIMEO, @hTimeout, sizeof(ttimeval));
connect(hSocket, hAddr, SizeOf(hAddr));

Send(hSocket, wRequest[1], length(wRequest), 0);
CloseSocket(hSocket);
end;
все работает!

ЗЫ: shttp говорит bad request

что за переменная "mstimeout"?

Последний раз редактировалось [stranger]; 04.02.2010 в 23:31..
 
Ответить с цитированием
Ответ



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



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


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




ANTICHAT.XYZ