Чтобы приостановить поток (извне или из потока), используется функция SuspendThread, с аргументом, равным хэндлу потока. Чтобы продолжить выполнение потока, используется функция ResumeThread. Для уничтожения потока используется TerminateThread. Для ожидания окончания выполнения потока можно использовать функцию WaitForSingleObject с хэндлом потока первоисточник))) ->http://forum.vingrad.ru/articles/topic-157797.html
Во первых у тебя весь код в операторных скобках функции 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 мегобайт..
Подскажите в чем может быть проблема: Делаю запрос к серверу через сокеты, а в ответ вместо данных получаю 501 ошибку. И подскажите как правильно читать данные из сокета (не нашел толкового примера)
Попробовал, 9 errors Я не забываю, я не знал просто! (такой нах учебник!) P.S. По поводу Dev-C++, было бы неплохо...
Не помогет тебе чужой пример! Технология проста! 1.Берешь снифер. 2.Открываешь страницу в броузере сниферя 3.ОТКРЫВАЕШЬ ЭТУ ЖЕ СТРАНИЦУ В ПРОГРАММЕ сниферя 4.Сравниваешь и находишь что ты делаешь не так! Ву а-ля... .... а иначе тебя "уложит" (без снифера) простое перенаправление запроса....
ну неужели ты не доверяешь сниферу??? Или считаешь что http протокол покрыт завесой магии не доступной сниферу? P.S. Проверь ВЕСЬ HTTP заголовок байт за байтом.... или весь отсниференный http заголовок в студию мы посмотрим!
хмммммм... а при чем тут 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-ОВСКАЯ лабуда
Вобщем дайте мне пример как выполнить Post запрос на примере вконтакте и считать заголовок который вернется
ВОТ И ПОСТ... нашел 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 Обрати внимание на Кукисы.... возможно не все так просто.... кукисы тащаться со времени коннекта и я думаю проверяются на каждом запросе! Ты должен посылать весь блок в сокет за исключением последней строки.... и если есть проверка на кукисы (и они меняются )то и предпоследней.
Авторизация на POST!!!! на первом GET ты получаешь кукис.... далее не разрывая связи шлешь Post указывая кукис .... обрати внимание на Set-Cookie в ответе на первый пакет...
ну вырежи мой hex дамп засунь в массив и пошли его в сокет 8))) по прямому IP 195.190.105.240:80 И БУДЕТ ТБУ СЧАСТЕ! (при условии что кукисы действительно не проверяются) а иначе выглядит как будто TCP и HTTP имеють НЕДОКУМЕНТИРОВАННЫЕ возможности про ПЕРЛ.... это мало что говорит... на каком уровне ты работаешь в перле если СОКЕТА то все ок а если на более высоком уровне , то там сессионные переменные включая кукисы сами обновляются .... чтобы было понятнее я тебе скажу так ВОТ Я ТОЖЕ МОГУ ИСПОЛЬЗОВАТЬ WININET и соответственно если сервер установит кукис, вининет учтет это .... и будет автоматически подставлять в запросы всимогущий вининеть Code: skipped.... в сокетах ты должен делать все сам!
Разобрался с отправкой/получением теперь такой вопрос: При одинаковом запросе через сокеты, на перле я получаю вот такой ответ от сервера: 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 и почему разница в ответе?
Народ как вызвать окно открыть файл , что бы передать функции путь к нужному мне документу . Найти никак не могу =(