[ C / C++ ] — начинающим: задаем вопросы (архивная - 2015)

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by _Great_, 26 May 2007.

Thread Status:
Not open for further replies.
  1. rem

    rem New Member

    Joined:
    9 Nov 2006
    Messages:
    24
    Likes Received:
    4
    Reputations:
    1
    Чтобы приостановить поток (извне или из потока), используется функция SuspendThread, с аргументом, равным хэндлу потока. Чтобы продолжить выполнение потока, используется функция ResumeThread. Для уничтожения потока используется TerminateThread. Для ожидания окончания выполнения потока можно использовать функцию WaitForSingleObject с хэндлом потока
    первоисточник))) ->http://forum.vingrad.ru/articles/topic-157797.html
     
  2. 0x22b

    0x22b Elder - Старейшина

    Joined:
    1 Dec 2007
    Messages:
    114
    Likes Received:
    32
    Reputations:
    9
    Во первых у тебя весь код в операторных скобках функции main закоментен.. Во вторых как бы там нибыло но пусть функция main всетаки возвращает значение int (так как она должна сообщать ОС о правильном завершении программы при помощи функции return 0;), в третьих это С++ а не С привыкай начинать прогу так:

    Code:
    #include <iostream>
    
    using namespace std;
    В четвертых для начала твоих познаний и консольных проектов советую использовать что нибудь попроще.. Например Dev-C++ (достаточно хорошая среда разработки)..

    Ну и в пятых вот как должна выглядеть твоя программа:

    Code:
    #include <iostream>
    
    using namespace std;
    
    int main(void)
    {
        cout << "\t\t\t\tResume\n\n";
    
        cout << "\t\tsurname" << "\tIvanchenko\n";
    
        cout << "\t\tName"     << "Leonid\n\n";
    
        cout << "\t\tWork at " << "\" Krocus\"\n\n";
        cout << "\t\tDate of birth: " << "\t 23.08\n";
    
       system("PAUSE");
       return 0;
    }
    
    Когда кодируеш, то кодируй внимательно, забываеш закрывать ковычки, ставиш вместо закрывающей точки с запятой двоеточие.. И советую уже сейчас начать придерживаться стиля программироваиния.. Так же не выноси cout << "\n"; на новую строку, ведь \n можно поставить в конец предыдущей в твоем случае.. Удачи в твоих начинаниях! P.S. если что пиши ЛС, могу залить на slil.ru Dev-C++, весит не много, порядка 8 мегобайт..
     
    #722 0x22b, 6 Feb 2008
    Last edited: 6 Feb 2008
    1 person likes this.
  3. Kaimi

    Kaimi Well-Known Member

    Joined:
    23 Aug 2007
    Messages:
    1,732
    Likes Received:
    811
    Reputations:
    231
    Подскажите в чем может быть проблема: Делаю запрос к серверу через сокеты, а в ответ вместо данных получаю 501 ошибку.
    И подскажите как правильно читать данные из сокета (не нашел толкового примера)
     
    _________________________
  4. Garfi

    Garfi Elder - Старейшина

    Joined:
    1 Feb 2008
    Messages:
    85
    Likes Received:
    23
    Reputations:
    0
    Попробовал, 9 errors :)
    Я не забываю, я не знал просто! (такой нах учебник!)
    P.S. По поводу Dev-C++, было бы неплохо...
     
  5. Delimiter

    Delimiter Banned

    Joined:
    8 Apr 2005
    Messages:
    317
    Likes Received:
    173
    Reputations:
    12
    Не помогет тебе чужой пример!
    Технология проста!
    1.Берешь снифер.
    2.Открываешь страницу в броузере сниферя
    3.ОТКРЫВАЕШЬ ЭТУ ЖЕ СТРАНИЦУ В ПРОГРАММЕ сниферя
    4.Сравниваешь и находишь что ты делаешь не так!

    Ву а-ля... :D .... а иначе тебя "уложит" (без снифера) простое перенаправление запроса....
     
  6. Kaimi

    Kaimi Well-Known Member

    Joined:
    23 Aug 2007
    Messages:
    1,732
    Likes Received:
    811
    Reputations:
    231
    Да я и так через снифер смотрю что отправляется, нормально там всё вроде
     
    _________________________
  7. Delimiter

    Delimiter Banned

    Joined:
    8 Apr 2005
    Messages:
    317
    Likes Received:
    173
    Reputations:
    12
    ну неужели ты не доверяешь сниферу??? Или считаешь что http протокол покрыт завесой магии не доступной сниферу? :D

    P.S. Проверь ВЕСЬ HTTP заголовок байт за байтом.... или весь отсниференный http заголовок в студию мы посмотрим! :cool:
     
  8. Kaimi

    Kaimi Well-Known Member

    Joined:
    23 Aug 2007
    Messages:
    1,732
    Likes Received:
    811
    Reputations:
    231
    Как то так:
    http://img216.imageshack.us/img216/3629/123ef2.jpg
     
    _________________________
    #728 Kaimi, 6 Feb 2008
    Last edited: 7 Feb 2008
  9. Delimiter

    Delimiter Banned

    Joined:
    8 Apr 2005
    Messages:
    317
    Likes Received:
    173
    Reputations:
    12
    хмммммм... а при чем тут Post.....

    давай по порядку сначала
    Code:
    47 45 54 20 2f 20 48 54 54 50 2f 31 2e 31 0d 0a 	| GET / HTTP/1.1..
    41 63 63 65 70 74 3a 20 69 6d 61 67 65 2f 67 69 	| Accept: image/gi
    66 2c 20 69 6d 61 67 65 2f 78 2d 78 62 69 74 6d 	| f, image/x-xbitm
    61 70 2c 20 69 6d 61 67 65 2f 6a 70 65 67 2c 20 	| ap, image/jpeg, 
    69 6d 61 67 65 2f 70 6a 70 65 67 2c 20 61 70 70 	| image/pjpeg, app
    6c 69 63 61 74 69 6f 6e 2f 78 2d 73 68 6f 63 6b 	| lication/x-shock
    77 61 76 65 2d 66 6c 61 73 68 2c 20 61 70 70 6c 	| wave-flash, appl
    69 63 61 74 69 6f 6e 2f 76 6e 64 2e 6d 73 2d 65 	| ication/vnd.ms-e
    78 63 65 6c 2c 20 61 70 70 6c 69 63 61 74 69 6f 	| xcel, applicatio
    6e 2f 76 6e 64 2e 6d 73 2d 70 6f 77 65 72 70 6f 	| n/vnd.ms-powerpo
    69 6e 74 2c 20 61 70 70 6c 69 63 61 74 69 6f 6e 	| int, application
    2f 6d 73 77 6f 72 64 2c 20 2a 2f 2a 0d 0a 41 63 	| /msword, */*..Ac
    63 65 70 74 2d 4c 61 6e 67 75 61 67 65 3a 20 72 	| cept-Language: r
    75 0d 0a 41 63 63 65 70 74 2d 45 6e 63 6f 64 69 	| u..Accept-Encodi
    6e 67 3a 20 67 7a 69 70 2c 20 64 65 66 6c 61 74 	| ng: gzip, deflat
    65 0d 0a 55 73 65 72 2d 41 67 65 6e 74 3a 20 4d 	| e..User-Agent: M
    6f 7a 69 6c 6c 61 2f 34 2e 30 20 28 63 6f 6d 70 	| ozilla/4.0 (comp
    61 74 69 62 6c 65 3b 20 4d 53 49 45 20 36 2e 30 	| atible; MSIE 6.0
    3b 20 57 69 6e 64 6f 77 73 20 4e 54 20 35 2e 31 	| ; Windows NT 5.1
    3b 20 53 56 31 3b 20 49 6e 66 6f 50 61 74 68 2e 	| ; SV1; InfoPath.
    32 29 0d 0a 48 6f 73 74 3a 20 76 6b 6f 6e 74 61 	| 2)..Host: vkonta
    6b 74 65 2e 72 75 0d 0a 43 6f 6e 6e 65 63 74 69 	| kte.ru..Connecti
    6f 6e 3a 20 4b 65 65 70 2d 41 6c 69 76 65 0d 0a 	| on: Keep-Alive..
    0d 0a 	| ..
    
    
    с 1-м GET есть проблемы?

    ответ
    Code:
    48 54 54 50 2f 31 2e 31 20 32 30 30 20 4f 4b 0d 	| HTTP/1.1 200 OK.
    0a 53 65 72 76 65 72 3a 20 6e 67 69 6e 78 2f 30 	| .Server: nginx/0
    2e 35 2e 33 35 0d 0a 44 61 74 65 3a 20 57 65 64 	| .5.35..Date: Wed
    2c 20 30 36 20 46 65 62 20 32 30 30 38 20 32 31 	| , 06 Feb 2008 21
    3a 30 32 3a 30 34 20 47 4d 54 0d 0a 43 6f 6e 74 	| :02:04 GMT..Cont
    65 6e 74 2d 54 79 70 65 3a 20 74 65 78 74 2f 68 	| ent-Type: text/h
    74 6d 6c 3b 20 63 68 61 72 73 65 74 3d 77 69 6e 	| tml; charset=win
    64 6f 77 73 2d 31 32 35 31 0d 0a 43 6f 6e 6e 65 	| dows-1251..Conne
    63 74 69 6f 6e 3a 20 6b 65 65 70 2d 61 6c 69 76 	| ction: keep-aliv
    65 0d 0a 58 2d 50 6f 77 65 72 65 64 2d 42 79 3a 	| e..X-Powered-By:
    20 50 48 50 2f 35 2e 32 2e 30 2d 38 2b 65 74 63 	|  PHP/5.2.0-8+etc
    68 31 30 0d 0a 50 72 61 67 6d 61 3a 20 6e 6f 2d 	| h10..Pragma: no-
    63 61 63 68 65 0d 0a 43 61 63 68 65 2d 63 6f 6e 	| cache..Cache-con
    74 72 6f 6c 3a 20 70 72 69 76 61 74 65 2c 20 6d 	| trol: private, m
    75 73 74 2d 72 65 76 61 6c 69 64 61 74 65 0d 0a 	| ust-revalidate..
    53 65 74 2d 43 6f 6f 6b 69 65 3a 20 72 65 6d 69 	| Set-Cookie: remi
    78 63 68 6b 3d 35 3b 20 65 78 70 69 72 65 73 3d 	| xchk=5; expires=
    54 68 75 2c 20 30 35 2d 46 65 62 2d 32 30 30 39 	| Thu, 05-Feb-2009
    20 32 31 3a 30 32 3a 30 34 20 47 4d 54 3b 20 70 	|  21:02:04 GMT; p
    61 74 68 3d 2f 3b 20 64 6f 6d 61 69 6e 3d 2e 76 	| ath=/; domain=.v
    6b 6f 6e 74 61 6b 74 65 2e 72 75 0d 0a 53 65 74 	| kontakte.ru..Set
    2d 43 6f 6f 6b 69 65 3a 20 72 65 6d 69 78 63 68 	| -Cookie: remixch
    6b 3d 35 3b 20 65 78 70 69 72 65 73 3d 54 68 75 	| k=5; expires=Thu
    2c 20 30 35 2d 46 65 62 2d 32 30 30 39 20 32 31 	| , 05-Feb-2009 21
    3a 30 32 3a 30 34 20 47 4d 54 3b 20 70 61 74 68 	| :02:04 GMT; path
    3d 2f 3b 20 64 6f 6d 61 69 6e 3d 2e 76 6b 6f 6e 	| =/; domain=.vkon
    74 61 6b 74 65 2e 72 75 0d 0a 43 6f 6e 74 65 6e 	| takte.ru..Conten
    74 2d 45 6e 63 6f 64 69 6e 67 3a 20 67 7a 69 70 	| t-Encoding: gzip
    0d 0a 56 61 72 79 3a 20 41 63 63 65 70 74 2d 45 	| ..Vary: Accept-E
    6e 63 6f 64 69 6e 67 0d 0a 43 6f 6e 74 65 6e 74 	| ncoding..Content
    2d 4c 65 6e 67 74 68 3a 20 32 35 37 34 0d 0a 0d 	| -Length: 2574...
    
    
    и тут следует gzip-ОВСКАЯ лабуда
    
    
     
    #729 Delimiter, 7 Feb 2008
    Last edited: 7 Feb 2008
    1 person likes this.
  10. Kaimi

    Kaimi Well-Known Member

    Joined:
    23 Aug 2007
    Messages:
    1,732
    Likes Received:
    811
    Reputations:
    231
    Вобщем дайте мне пример как выполнить Post запрос на примере вконтакте и считать заголовок который вернется
     
    _________________________
  11. Delimiter

    Delimiter Banned

    Joined:
    8 Apr 2005
    Messages:
    317
    Likes Received:
    173
    Reputations:
    12
    ВОТ И ПОСТ... нашел

    Code:
    50 4f 53 54 20 2f 6c 6f 67 69 6e 2e 70 68 70 20 	| POST /login.php 
    48 54 54 50 2f 31 2e 31 0d 0a 41 63 63 65 70 74 	| HTTP/1.1..Accept
    3a 20 69 6d 61 67 65 2f 67 69 66 2c 20 69 6d 61 	| : image/gif, ima
    67 65 2f 78 2d 78 62 69 74 6d 61 70 2c 20 69 6d 	| ge/x-xbitmap, im
    61 67 65 2f 6a 70 65 67 2c 20 69 6d 61 67 65 2f 	| яage/jpeg, image/
    70 6a 70 65 67 2c 20 61 70 70 6c 69 63 61 74 69 	| pjpeg, applicati
    6f 6e 2f 78 2d 73 68 6f 63 6b 77 61 76 65 2d 66 	| on/x-shockwave-f
    6c 61 73 68 2c 20 61 70 70 6c 69 63 61 74 69 6f 	| lash, applicatio
    6e 2f 76 6e 64 2e 6d 73 2d 65 78 63 65 6c 2c 20 	| n/vnd.ms-excel, 
    61 70 70 6c 69 63 61 74 69 6f 6e 2f 76 6e 64 2e 	| application/vnd.
    6d 73 2d 70 6f 77 65 72 70 6f 69 6e 74 2c 20 61 	| ms-powerpoint, a
    70 70 6c 69 63 61 74 69 6f 6e 2f 6d 73 77 6f 72 	| pplication/mswor
    64 2c 20 2a 2f 2a 0d 0a 52 65 66 65 72 65 72 3a 	| d, */*..Referer:
    20 68 74 74 70 3a 2f 2f 76 6b 6f 6e 74 61 6b 74 	|  http://vkontakt
    65 2e 72 75 2f 0d 0a 41 63 63 65 70 74 2d 4c 61 	| e.ru/..Accept-La
    6e 67 75 61 67 65 3a 20 72 75 0d 0a 43 6f 6e 74 	| nguage: ru..Cont
    65 6e 74 2d 54 79 70 65 3a 20 61 70 70 6c 69 63 	| ent-Type: applic
    61 74 69 6f 6e 2f 78 2d 77 77 77 2d 66 6f 72 6d 	| ation/x-www-form
    2d 75 72 6c 65 6e 63 6f 64 65 64 0d 0a 41 63 63 	| -urlencoded..Acc
    65 70 74 2d 45 6e 63 6f 64 69 6e 67 3a 20 67 7a 	| ept-Encoding: gz
    69 70 2c 20 64 65 66 6c 61 74 65 0d 0a 55 73 65 	| ip, deflate..Use
    72 2d 41 67 65 6e 74 3a 20 4d 6f 7a 69 6c 6c 61 	| r-Agent: Mozilla
    2f 34 2e 30 20 28 63 6f 6d 70 61 74 69 62 6c 65 	| /4.0 (compatible
    3b 20 4d 53 49 45 20 36 2e 30 3b 20 57 69 6e 64 	| ; MSIE 6.0; Wind
    6f 77 73 20 4e 54 20 35 2e 31 3b 20 53 56 31 3b 	| ows NT 5.1; SV1;
    20 49 6e 66 6f 50 61 74 68 2e 32 29 0d 0a 48 6f 	|  InfoPath.2)..Ho
    73 74 3a 20 76 6b 6f 6e 74 61 6b 74 65 2e 72 75 	| st: vkontakte.ru
    0d 0a 43 6f 6e 74 65 6e 74 2d 4c 65 6e 67 74 68 	| ..Content-Length
    3a 20 31 37 0d 0a 43 6f 6e 6e 65 63 74 69 6f 6e 	| : 17..Connection
    3a 20 4b 65 65 70 2d 41 6c 69 76 65 0d 0a 43 61 	| : Keep-Alive..Ca
    63 68 65 2d 43 6f 6e 74 72 6f 6c 3a 20 6e 6f 2d 	| che-Control: no-
    63 61 63 68 65 0d 0a 43 6f 6f 6b 69 65 3a 20 72 	| cache..Cookie: r
    65 6d 69 78 63 68 6b 3d 35 0d 0a 0d 0a 65 6d 61 	| emixchk=5....ema
    69 6c 3d 77 65 26 70 61 73 73 3d 77 65 65 	| il=we&pass=wee
    
    
    Обрати внимание на Кукисы.... возможно не все так просто.... кукисы тащаться со времени коннекта и я думаю проверяются на каждом запросе!

    Ты должен посылать весь блок в сокет за исключением последней строки.... и если есть проверка на кукисы (и они меняются )то и предпоследней.
     
    #731 Delimiter, 7 Feb 2008
    Last edited: 7 Feb 2008
    1 person likes this.
  12. Kaimi

    Kaimi Well-Known Member

    Joined:
    23 Aug 2007
    Messages:
    1,732
    Likes Received:
    811
    Reputations:
    231
    Авторизация по-твоему там тоже Get?
     
    _________________________
  13. Delimiter

    Delimiter Banned

    Joined:
    8 Apr 2005
    Messages:
    317
    Likes Received:
    173
    Reputations:
    12
    Авторизация на POST!!!!

    на первом GET ты получаешь кукис.... далее не разрывая связи шлешь Post указывая кукис

    .... обрати внимание на Set-Cookie в ответе на первый пакет...
     
    #733 Delimiter, 7 Feb 2008
    Last edited: 7 Feb 2008
  14. Kaimi

    Kaimi Well-Known Member

    Joined:
    23 Aug 2007
    Messages:
    1,732
    Likes Received:
    811
    Reputations:
    231
    Да не нужен там кукис, ибо примерно такая же модель с сокетами на перле у меня нормально пашет...
     
    _________________________
  15. Delimiter

    Delimiter Banned

    Joined:
    8 Apr 2005
    Messages:
    317
    Likes Received:
    173
    Reputations:
    12
    ну вырежи мой hex дамп засунь в массив и пошли его в сокет 8))) по прямому IP 195.190.105.240:80

    И БУДЕТ ТБУ СЧАСТЕ! (при условии что кукисы действительно не проверяются) :D а иначе выглядит как будто TCP и HTTP имеють НЕДОКУМЕНТИРОВАННЫЕ возможности :rolleyes:

    про ПЕРЛ.... это мало что говорит... на каком уровне ты работаешь в перле если СОКЕТА то все ок а если на более высоком уровне , то там сессионные переменные включая кукисы сами обновляются
    .... чтобы было понятнее я тебе скажу так

    ВОТ Я ТОЖЕ МОГУ ИСПОЛЬЗОВАТЬ WININET
    и соответственно если сервер установит кукис, вининет учтет это .... и будет автоматически подставлять в запросы

    всимогущий вининеть
    Code:
    skipped....
    
    в сокетах ты должен делать все сам!
     
    #735 Delimiter, 7 Feb 2008
    Last edited: 7 Feb 2008
  16. brasco2k

    brasco2k Elder - Старейшина

    Joined:
    23 Nov 2007
    Messages:
    258
    Likes Received:
    91
    Reputations:
    0
    Там } не знаю для чего)))
     
  17. Kaimi

    Kaimi Well-Known Member

    Joined:
    23 Aug 2007
    Messages:
    1,732
    Likes Received:
    811
    Reputations:
    231
    Разобрался с отправкой/получением теперь такой вопрос:
    При одинаковом запросе через сокеты, на перле я получаю вот такой ответ от сервера:
    Code:
    HTTP/1.0 200 OK
    Date: Thu, 07 Feb 2008 14:52:33 GMT
    Server: Apache/1.3.27 (Unix)  gorgona/2.1 mod_jk/1.2.4 mod_ruby/1.0.7 Ruby/1.6.8
    Connection: close
    Content-Type: text/html; charset=windows-1251
    Content-Length: 17464
    Set-Cookie: sid=453sfy643r3erfrs32d; expires=Sun, 04 Feb 2018 14:52:33 GMT; path=/;
    Cache-Control: no-cache,no-store,must-revalidate
    Pragma: no-cache
    Expires: Wed, 07 Feb 2007 14:52:33 GMT
    Last-Modified: Thu, 07 Feb 2008 14:52:33 GMT
    
    А сишник выдает
    Code:
    HTTP/1.1 200 OK
    Date: Thu, 07 Feb 2008 14:55:50 GMT
    Server: Apache
    Pragma: no-cache
    Cache-Control: no-cache, no-store
    Expires: Thu, 07 Feb 2008 14:55:50 GMT
    Frontend-key: 195.61.57.65
    Set-Cookie: sid=453sfy643r3erfrs32d; path=/; expires=Fri, 18 Jul 2036 13:20:00 GMT;
    Connection: close
    Transfer-Encoding: chunked
    Content-Type: text/html; charset=koi8-r
    Vary: accept-charset, user-agent
    
    Вопрос: Куда девается Content-Length и почему разница в ответе?
     
    _________________________
    1 person likes this.
  18. KEZ

    KEZ Ненасытный школьник

    Joined:
    18 May 2005
    Messages:
    1,604
    Likes Received:
    754
    Reputations:
    397
    Сервер определил, что ты юзаешь си плюс плюс и решил спрятать от тебя Content-Length.
     
    1 person likes this.
  19. Kaimi

    Kaimi Well-Known Member

    Joined:
    23 Aug 2007
    Messages:
    1,732
    Likes Received:
    811
    Reputations:
    231
    Kez в своем репертуаре...
    Все разобрался, допустил небольшую ошибку в запросе
     
    _________________________
    1 person likes this.
  20. Alpha][

    Alpha][ Elder - Старейшина

    Joined:
    19 Oct 2007
    Messages:
    75
    Likes Received:
    5
    Reputations:
    0
    Народ как вызвать окно открыть файл , что бы передать функции путь к нужному мне документу . Найти никак не могу =(
     
Thread Status:
Not open for further replies.