Forth http://www.fforum.winglion.ru/ |
|
Сокеты на форке? http://www.fforum.winglion.ru/viewtopic.php?f=25&t=2694 |
Страница 1 из 1 |
Автор: | WingLion [ Вт янв 04, 2011 15:13 ] |
Заголовок сообщения: | Сокеты на форке? |
Смешной вопрос. Сокеты на форке Есть? Ожидаются? Или как? |
Автор: | WingLion [ Вт янв 04, 2011 23:01 ] |
Заголовок сообщения: | Re: Сокеты на форке? |
Пробую вот такое: Код: libs/includes.f \ здесь подключается много чего, в том числе и сокеты ALSO SOCKET \ добавляем сокеты в контекст SocketsStartup \ инициализация сокетов 0 VALUE SOCK1 \ для идентификатора сокета 80 VALUE PORT4soc \ для порта сокета 0100007F VALUE ADDR4soc \ для IP адреса сокета \ первое тестовое слово для открытия сокета : OPEN_SOC ( ... port addr u --> socket ) IP>S TO ADDR4soc \ вычисляем и сохраняем адрес TO PORT4soc \ сохраняем порт CreateSocketWithTimeout \ CreateSocket \ создаем сокет. Просто пустой ни с чем не соединенный сокет. IF ABORT" ошибка при работе с сокетом" BYE ELSE DUP TO SOCK1 ." Сокет создан с ID: " . CR THEN ADDR4soc ." подключаемся к IP адресу: " H. ." = " ADDR4soc NtoA ( IP --> addr u ) TYPE ." на пoрт: " PORT4soc DECIMAL . HEX CR ADDR4soc PORT4soc SOCK1 ConnectSocket ( IP port socket --> ior ) \ пытаемся установить соединение DUP IF ." отработал ConnectSocket с ошибкой: " DUP DECIMAL . DUP 0x2743 = IF ." - Сеть недоступна" THEN \ ошибка 10051 DUP 0x274C = IF ." - Таймаут" THEN \ ошибка 10060 DUP 0x274D = IF ." - В соединении отказано" THEN \ ошибка 10061 ELSE ." ConnectSocket отработал без ошибки. Соединение установлено!" DROP THEN CR ; 0x50 \ порт 80 \ s" 94.100.191.203" \ mail.ru s" 127.0.0.1" \ localhost OPEN_SOC \ пробуем открывать Что-то происходит неправильно отрабатываемые ошибки - это те, что появлялись в процессе попыток достучаться хотя бы куда-нибудь. - "Сеть недоступна" убралось, когда в касперском разрешил программе FORTH.EXE любую работу с сетью - "Таймаут" убрался заменой CreateSocket на CreateSocketWithTimeout - Теперь тупо: "В соединении отказано" и ни туда и ни сюда... из консоли писал(а): libs/socket.fts Сокет создан с ID: 68 подключаемся к IP адресу: 0x0100007F = 127.0.0.1 на пoрт: 80 отработал ConnectSocket с ошибкой: 10061 - В соединении отказано Боюсь, что просто XP палки в колеса втыкает... |
Автор: | Alex [ Ср янв 05, 2011 08:06 ] |
Заголовок сообщения: | Re: Сокеты на форке? |
а telnet 127.0.0.1 80 дает тот же самый результат? |
Автор: | WingLion [ Ср янв 05, 2011 08:55 ] |
Заголовок сообщения: | Re: Сокеты на форке? |
Цитата: telnet 127.0.0.1 80 Ведет себя довольно странно. когда набираю из меню виндовса "выполнить" Открывается окошко, мелькает надпись "подключение к 127.0.0.1" потом пустая консоль. При попытке набрать текст - курсор двигается, а текста не видно. Если вслепую набрать команду GET без всего, иногда проскакивает ответ HTTP 1.1 404 Not found и что-то еще... после чего "соединение утеряно" и окно просто закрывается Если набрать в строке команды винкомандера окошко телнета появляется и закрывается сразу... не успеваю прочитать, что пишет... В первой строчке тоже проскакивает "подключение к 127.0.0.1" |
Автор: | WingLion [ Ср янв 05, 2011 09:07 ] |
Заголовок сообщения: | Re: Сокеты на форке? |
Так... добился того, что ответы не пропадают... запуская telnet из-под cmd.exe Это ответ на команду >telnet 94.100.191.203 80 ( IP-адрес сервера mail.ru ) Цитата: HTTP/1.0 400 Bad request Date: Wed, 05 Jan 2011 04:59:55 GMT Server: Apache/1.3.27 (Unix) mru_xml/0.471 gorgona/2.1 mod_jk/1.2.4 mod_ruby/1.0 .7 Ruby/1.6.8 mod_mrim/0.17 Connection: close Content-Type: text/html <HTML><BODY>Bad request</BODY></HTML> Подключение к узлу утеряно. ответ на: >telnet 127.0.0.1 80 Цитата: Подключение к 127.0.0.1...Не удалось открыть подключение к этому узлу, на порт 8 0: Сбой подключения При первой попытке дать команду telnet 127.0.0.1 80 Из под cmd.exe еще и eserv (который у меня постоянно включен) повесился, объявляя, что лицензия expired... Сейчас попробую перезагрузиться и посмотреть, что он снова скажет... Раньше он тоже иногда вываливался из-за отсутствия лицензии, но потом снова "работал" в кавычках, потому что ненормально работал, только на локальном компе виден http://localhost/ |
Автор: | WingLion [ Ср янв 05, 2011 09:24 ] |
Заголовок сообщения: | Re: Сокеты на форке? |
Tak, теперь telnet 127.0.0.1 80 из-под cmd.exe на пустой запрос GET выдает: Цитата: HTTP/1.1 404 Not Found Content-Type: text/plain Not Found Подключение к узлу утеряно. При этом браузер нормально видит страничку http://127.0.0.1/ которая у меня на eserv-е настроена. И eserv больше не вешался (eserv/2.99) |
Автор: | WingLion [ Ср янв 05, 2011 10:30 ] |
Заголовок сообщения: | Re: Сокеты на форке? |
Нашел, как правильно делать GET запрос! команда telnet mail.ru 80 и дальше ввожу GET / HTTP/1.0 после этого выдает html-код начальной страницы mail.ru (о-очень длинный код) на telnet 127.0.0.1 80 эта же команда отдает index.htm что у меня в eserv-е записана |
Автор: | WingLion [ Ср янв 05, 2011 12:04 ] |
Заголовок сообщения: | Re: Сокеты на форке? |
Eще одно "достижение" код Код: ~ac/lib/win/winsock/Psocket.f : TEST { \ s } SocketsStartup THROW " localhost" 80 fsockopen -> s " GET / HTTP/1.0 Connection: close " s fputs 20 0 DO s fgets STYPE CR LOOP s fclose ; TEST в SPF4.18 отработал корректно и выдал текст из index.html лежащем в корне localhost-а Т.е. винда у меня никак не мешает работе с сокетами. |
Автор: | Alex [ Ср янв 05, 2011 12:35 ] |
Заголовок сообщения: | Re: Сокеты на форке? |
О как раз хотел порекомендовать этот примерчик из спфа попробовать, но не успел добраться и посмотреть где он там лежит |
Автор: | mOleg [ Ср янв 05, 2011 19:52 ] |
Заголовок сообщения: | Re: Сокеты на форке? |
WingLion писал(а): Сокеты на форке Есть? Ожидаются? Или как? смешной ответ: будут! |
Страница 1 из 1 | Часовой пояс: UTC + 3 часа [ Летнее время ] |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |