![]() |
> почему флэшка не может открыть сокет с сервером;
Берешь сниффер и смотришь, чего реально происходит > на апаче по идее по умолчанию стоит сокет сервер Апач - это и есть сокет-сервер. Он же httpd(2) |
Цитата:
с КАКИМ сервером флэшка не может окрыть соединение? зачем СОКЕТОМ "лезть" в ПХП-скрипт? вы мне это можнте объяснить, что это вообще такое? потом, запросы запросами, а ответы кто давать будет? тоже апач? ну так пробуйте завести сокет на <ip>:<port> вашего апача. что получится? если получится - что дальше? LinuxVideo, слушать можно все что угодно и чем угодно, сниффером, tcpdump-ом, демоном из 20-ти строк на перле, апачем :), дальше что? услышали, и .... ? человек хочет из базы данные во флэш по сокету сбрасывать, например. кто это будет делать? демон из 20-ти строк? тогда чем этот вариант лучше PHP+LoadVars? дались вам эти сокеты, ейбогу. ну пусть... апач-это сокет, запрос апачу отсылаем LoadVars-ом (URLRequest-ом) типа "http://....page.php?param1...¶m2=...." апач, увидев, что клиент хочет php, запускает скрипт page.php, который лезет в базу, дергает данные, формирует ответ. апач отсылает ответ флэшу. чем не сокет? :) чем вас не устраивает такая незаурядная в своей простоте схема? повторюсь, если ищете "особых" решений - юзайте сокет. он вам будет давать те же ответы без участия апача и пхп, если вы сумеете его заставить это делать конечно. |
Цитата:
Цитата:
Цитата:
Щас уже просто из принципа хочут понять почему не открывается сокет. + в сокете данные передаются в сыром виде, это открывает широкие возможности для развития. + можно прикрутить различные форматы передачи данных (тотже JSON) |
komar, если флешка работает не через хттп, а через сокет (а ведь ты надо полагать хочешь юзать XMLSocket) - то файл этот надо получить тоже из сокета. Когда флешка коннектится к серверу - она запрашивает этот файл (не помню как - посмотри в выводе сокета), и по этому запросу файл надо отдать.
Если писать сокет на питоне или ему подобных - то обрати вниманиена символ номер 27: так флеш говорит, что передача окончена Пхп для таких вещей не пригоден - он как и хтмл только для текстов (питон полгода назад тоже был, он не поддерживал закрытие тредов - но может сокеты там уже дописали) Апач - это действительно сокет, но тебе нужен сокет который работает по твоим правилам, а в апач писать могут только очень взрослые дяди с большим пузом и бородой Хостинг нужен выделенный, лучше колокейшн - потому что все что выше апача на стартовых тарифах не работает |
по-моему у автора тут вообще недопонимание некоторое есть. сокет-клиент соединяется не со скритом http://www.test.ru/index.php. он соединяется с ip-адресом по такому-то порту. на машине по этому адресу должен стоять сокет-сервер, который слушает этот порт. после установки соединения клиент общается с сервером с помощью протокола сервера. если ты приконектишся к апачу по его стандартному порту :80 то общаться тебе с ним нужно на HTTP. для своей игры/интерфейсу к базе/что-то другое тебе нужно будет написать свой сокет-сервер. это достаточно сложно даже на пхп (ненадо, кстати, ля-ля, что на пхп сокет-серверы не пишут. с мемкешем и оптимайзерами спокойно держат больше 400 юзеров). к локальному апачу локальная флешка с сокет-клиентом подключаться должна. если этого не происходит - у тебя ошибка где-то.
сырые сокеты нужно использовать только когда для тебя критично важно время отклика и нагрузка на сервер(к тому же для сокета тебе понадобится виртуалньый хост с ssh, доступом к cron, etc...) если нет - используй XML.sendAndLoad или LoadVars. пример XML.sendAndLoad я недавно писал: http://www.flasher.ru/forum/showpost...57&postcount=8 |
Люди, откуда пошло это извращенное "сокет-сервер"? Мне читать вас больно, режет глаз. Это как масло-маслянное.
http://ru.wikipedia.org/wiki/%D0%A1%...5%D0%B9%D1%81) http://ru.wikipedia.org/wiki/%D0%A1%...B2%D0%B5%D1%80 http://ru.wikipedia.org/wiki/%D0%A1%...0%BB%D1%8C_OSI Цитата:
Цитата:
Цитата:
У меня еще и волосы длинные. Цитата:
Цитата:
Цитата:
|
Цитата:
И разреши заметить, что это выражение ты тут сам употреблял и расшифровывал не дале как вчера. Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
***Теперь и я к свовам прие&ался. LinuxVideo, ваш дурной пример заразителен... |
та что за глупости: "народный фольклор ". это нормальное употребляемое слово. если не совру, то в Delphi стандартные компоненты так и назывались: Socket-client, Socket-server. это исключительно юниксоиды используют словечки типа демон, скелетон и т.д. с подачки некоторых авторов.
|
Цитата:
Цитата:
Цитата:
Лучше "TCP-приложение, принимающее входящие соединения". Прошу прощения за оффтоп. |
Эх. Тут в одну корзину уже накидали все что можно, даже крон приплели.
Давайте с начала. 1. Речь определенно идет о AS3, и его новом классе Socket. В AS2 его насколько я знаю нет. Отличается от XMLSocket и подобных ему, что предназначен для простого соединения с сервером без установки всяких стандартов передачи данных (как например в XMLSocket формат = XML). В классе Socket создается только сам сокет (канал с сервером), а дальше в этом канале уже делай что хочешь. (для начала просто пишешь руками HTTP запросы http://www.javable.com/columns/serv_...%3F%3F%3F+POST - кому интересно). Т.е. можно передавть данные в бинарном виде, в тексте (UTF) и т.д. Короче полная свобода. Еще раз, XMLSocket тут вообще ни причем. Он даже работает немного по другому, и параметром у него раза в 2-3 меньше. 2. Сокет-сервер - разновидность Демона (Daemon - http://ru.wikipedia.org/wiki/%D0%94%...0%BC%D0%B0%29), как раз программа (фоновой процесс, если на уровне сервера) которая запускается на сервере (имеется ввиду машина) автоматом и слушает порт, например. 2.1 Сокет - на программном уровне - интерфейс. Т.е. набор правил и команд позволяющий клиенту (в нашем случае, в общем случае и серверу) соединяться с сервером. Т.е. модель/способ/правила/интерфейс (кому как понятнее) соединения с сервером. В данном случае открытие канал связи. http://ru.wikipedia.org/wiki/%D0%A1%...D0%B9%D1%81%29 3. Обычные (на уровне пользователя) серверы на которых размещаются сайты, в том числе и этот, это и есть сокет-серверы. Помимо сокет-серверов есть другие типы Демонов (к ним уже относится упомянутый cron, который занимается "фоновой" планировкой и выполнением различных задач, на сколько я знаю на основе cron`ов работают различные боты, которые время от времени сканят какие-либо ресурсы = плнарование и выполнени - просто пример). 4. Апач - сокет-сервер на UNIX системе (есть различные виндовые сокет-серверы, с ними особо не знаком) настроенный на 80 конкретно. Т.е. он специально предназначен для хттп протоколов, которые являются стандартом для 80 порта. На апаче стати и ваш сайт стоит :) И вот открытие страниц, например http://www.flasher.ru происходит как раз по средством сокета (канал), который открывается на 80 порту, и при обмене информации в запросах используется http протокол. 5. Т.е. апачу поверх сокет-серверы не нужен поидее. Если только появится желание заставить апач слушать не только 80 порт, а еще какой-то. То для этого порта нужно писать дополнительный сокет-сервер (надстройка, приложение например на пхп), который будет настроен именно на этот новый порт. Писать такие сокет-серверы (настройки) на пхп говорят не сложно, мне если не по силам, то есть кто это сделает. Так что если в этом будет дело - напишем. ------- Таким образом происходит типичная подмена понятий. Вообще слово "сокет" используется много где, и языках программирования и в терминологии сети и в том же АS. ------- Речь идет о классе Socket, который из флэшки (файла swf) должен открывать сокет (канал) с сервером (апач=сокет-сервер), по определенному домену и порту (для апача это 80 порт). О форматах передачи данных и запросах, и всем остальном пока речи не идет. Пока что все встает на этапе коннекта и открытия сокета (канал). Т.е. до скрипта к которому должен идти хттп запрос дело даже не доходит. Все-таки думаю стоит вам посмотреть описание класса Socket. ------- Выкладываю все-таки часть кода: Код:
package {все видим что стоят листенеры на события сокета(как канала), вот my_socket.addEventListener(Event.CONNECT, connectHandler); это событие не отрабатывается. Следовательно коннекта по какой причине не происходит. Размещение всех файлов участвующих в процессе я описал. По идее все правила безопасности соблюдены. Пример работает если его запускать из exe файла, и раотает если его запускать из среды флэша. Также он работает на виндовом сервере IIS 6.0 и локально и удаленно. |
| Часовой пояс GMT +4, время: 06:04. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.