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

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

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

  #451  
Старый 23.11.2007, 03:00
nc.STRIEM
Members of Antichat - Level 5
Регистрация: 05.04.2006
Сообщений: 1,066
Провел на форуме:
3493315

Репутация: 1228


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

Цитата:
Сообщение от Dunadan007  
Здравствуйте, я первый раз на этом замечательном сайте и меня интересует следующий вопрос:
Если сервер посылает/принимает данные через startinf.hStdInput=startinf.hStdOutput = startinf.hStdError = socket;
То как принимать данные клиентом?
Я пытался через баальшуйщий буффер:
char l_buf [4096];
...
recv(socket, l_buf, 4096);
...
Но передовалась только одна строка.
Тогда я пытался сделать так:
...
char buff_in [128]
...
while (true)
{recv(socket, buff_in,128);
if (buff_in == etalon_void_buffer) break;//etalon buffer -- eto //ZeroMemory(etalon_void_buffer,128);
printf (buff_in);
ZeroMemory(buff_in,128);
}
scanf(%s,buff_out);
send(socket, buff_out, 128);
...
Но так почему-то не выполняется сканф и посылка.
В приведённом коде могут быть орфографические/синтаксические ошибки, не обращайте внимания, в настоящим их точно нет.
Помогите пожалуйста рашить мою проблему.
зацикливание происходит.

делай так:
Код:
char buff_in [128]
int len;

for(;;)
{
    len=recv(socket, buff_in,127);
    if(len == -1) break;
    buff_in[len]='\0';
    printf("%s",buff_in );
}
но это сработает ток есле сервер закроет соединение после отправки данных. в противном случае ты должен знать длинну данных которые тебе нужно получить

Последний раз редактировалось nc.STRIEM; 23.11.2007 в 03:09..
 
Ответить с цитированием

  #452  
Старый 27.11.2007, 20:46
criz
Постоянный
Регистрация: 04.11.2007
Сообщений: 303
Провел на форуме:
811764

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

Как вывести определенное значение из реестра? Т.е. есть ветка
Цитата:
HKEY_LOCAL_MACHINE\SOFTWARE\someApp\Info\
и ключ Build
Нужно вывести значение этого ключа.
Я использовал RegQueryValueExA, но он не хочет работать

Код:
HKEY hKey;
DWORD Err;
DWORD type = REG_SZ;
char v[80] = " ";
unsigned long buf;
char err;
//.............//
if((RegQueryValueExA(hKey, "Build", NULL, &type, (unsigned char *)v, &buf))==ERROR_SUCCESS)
{
 MessageBoxA(0,v,"Good!",0);
}
else
{
  MessageBoxA(0, "error", "error", MB_OK);
}
P.S. RegOpenKeyExA работает нормуль...
 
Ответить с цитированием

  #453  
Старый 27.11.2007, 23:32
Ky3bMu4
Постоянный
Регистрация: 03.02.2007
Сообщений: 520
Провел на форуме:
1777536

Репутация: 932


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

Вроде всё должно норм работать... Вместо &type поставь 0.


P.S.
MessageBox`ы это не айс. Ставь breakpoint`ы и запускай по F8.

Последний раз редактировалось Ky3bMu4; 27.11.2007 в 23:57..
 
Ответить с цитированием

  #454  
Старый 28.11.2007, 05:32
demonoid
Banned
Регистрация: 12.01.2007
Сообщений: 113
Провел на форуме:
4094601

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

Цитата:
Сообщение от nc.STRIEM  
зацикливание происходит.
Код:
for(;;)
{
    len=recv(socket, buff_in,127);
    ......
}
......
вау !
while(1) уже не актуально?

Последний раз редактировалось demonoid; 28.11.2007 в 05:35..
 
Ответить с цитированием

  #455  
Старый 28.11.2007, 20:09
criz
Постоянный
Регистрация: 04.11.2007
Сообщений: 303
Провел на форуме:
811764

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

Цитата:
Сообщение от Ky3bMu4  
Вроде всё должно норм работать... Вместо &type поставь 0.


P.S.
MessageBox`ы это не айс. Ставь breakpoint`ы и запускай по F8.
Не рабит... Два брейка поставил =)
Даже если убрать месаджбоксы, то действие все рано переносится на else {/*...*/}
Проверил: RegQueryValueExA выдает значение 6
 
Ответить с цитированием

  #456  
Старый 28.11.2007, 20:27
GlOFF
Постоянный
Регистрация: 08.05.2006
Сообщений: 816
Провел на форуме:
1845671

Репутация: 1338


По умолчанию

criz Бывает компилятор глючит, и не происходит обещенного, я очень часто такое замечаю на Builder C++

// Попробуй переписать в более простой, а не компактный варимант!!!
 
Ответить с цитированием

  #457  
Старый 28.11.2007, 21:15
_Great_
Флудер
Регистрация: 27.12.2005
Сообщений: 2,372
Провел на форуме:
5339610

Репутация: 4360


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

Цитата:
Сообщение от demonoid  
вау !
while(1) уже не актуально?
нет, не актуально и я даже могу объяснить почему.
компилятор при транслировании цикла while(1) может поставить (скорее всего так и будет) проверку на равенство еденице условия цикла, то есть что 1==1, а это лишние инструкции. Получится код вида mov ecx, 1 / cmp ecx, 1 / jz XXX
А for(; { .. } всегда транслируется в безусловный jmp

Хотя это, вообщем-то, особенности компилятора, на других компиляторах (а я имел в виду MS VC++) мб и не так
 
Ответить с цитированием

  #458  
Старый 28.11.2007, 22:03
Meister
Участник форума
Регистрация: 13.10.2005
Сообщений: 210
Провел на форуме:
371736

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

Есть ли такая возможность в C++ Builder 6 ? :
При размещении элемента на форме он растягивается\двигается с определенным шагом, иногда этого шага не достаточно для тонкой работы. Можно ли его уменьшить?
 
Ответить с цитированием

  #459  
Старый 28.11.2007, 22:12
halkfild
Leaders of Antichat - Level 4
Регистрация: 11.11.2005
Сообщений: 391
Провел на форуме:
7084941

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

вручную растяни до требуемого размера, а более точно через свойства введи конкретное число
 
Ответить с цитированием

  #460  
Старый 28.11.2007, 22:59
criz
Постоянный
Регистрация: 04.11.2007
Сообщений: 303
Провел на форуме:
811764

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

Цитата:
Сообщение от GlOFF  
// Попробуй переписать в более простой, а не компактный варимант!!!
Да я уж и незнаю как его переписать...
Может причина в отсутствии прав на редактирование реестра? Тогда почему RegOpenKeyExA сработал....
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Часто задаваемые вопросы по MySQL Серый PHP, PERL, MySQL, JavaScript 5 28.12.2006 18:26
Интернетчики задали российскому президенту очень странные вопросы podkashey Мировые новости 4 07.07.2006 16:53
Вопросы по Ipb 2.0 Voodoo_People Форумы 26 15.02.2005 22:57



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


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




ANTICHAT.XYZ