![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Сама себе режиссер
Старожил
Регистрация: 27.04.2007
Сообщений: 3,365
|
![]()
Привет) Никогда раньше не работала с сетью, а тут пришлось. Помогите, пожалуйста, ссылками или советами.
Клиент - Flash (ActionScript), сервер - PHP. Скажем так, нужно написать обмен сообщениями между двумя людьми. Человек заходит на сайт и видит перед собой список тех, кто хочет пообщаться. Он может или выбрать одного из предоставленных собеседников, или сам создать заявку на общение. При создании заявки человек ждет, пока к нему не присоединится собеседник(только один). Если ждать надоело, то он может нажать кнопку "Отмена" и вернуться на экран выбора собеседников. Собственно, главный вопрос: как это реализовать с помощью сокетов? Список собеседников - это будет список открытых соединений? Как передавать сообщения именно своему собеседнику? Ну и так далее в том же духе. Код не прошу, прошу алгоритм или пинок в нужном направлении. Литературу и статьи по этому делу уже рыла и рою сейчас.
Если я вас напрягаю или раздражаю, вы всегда можете забиться в угол и поплакать
|
![]() |
![]() |
![]() |
#2 | |
Форумчанин
Регистрация: 21.02.2009
Сообщений: 372
|
![]() Цитата:
No name. Just Linel.
|
|
![]() |
![]() |
![]() |
#3 | ||
Капсула от спама
Форумчанин
Регистрация: 04.03.2008
Сообщений: 779
|
![]()
Сокеты - наше все
![]() Цитата:
Цитата:
$connections[] = array('socket'=>$new_socket,'talkwi th'=>0); И до создании такого массива выбираем того, у кого talkwith==0, и ставим соотв. talkwith = id собеседника для каждого из владельцев соединений. Дальше - при чтении и обнаружении данных тупо слать их по $connections[talkwith][socket] ![]()
Если данный ответ не столь конкретен, как Вы желаете его увидеть, возможно необходимо поразмыслить, стоит ли вопрос того, чтобы о нём спрашивать на форуме?
CncFiles.ru - бесплатный файловый хостинг |
||
![]() |
![]() |
![]() |
#4 |
Сама себе режиссер
Старожил
Регистрация: 27.04.2007
Сообщений: 3,365
|
![]()
Dj_smart, благодарю вас, сейчас буду пробовать.
Linel. зачем в ПМ? Вдруг кому-то еще пригодится? Вот список статей. По полезности еще не отфильтрован, поэтому я не виновата, если там будет написана лажа PHP 5 Sockets With Flash (English) PHP Socket server and Chat Gateway for Flash clients (English) PHP 5, AC2(AC3) Sockets (ответы на форуме) Статьи по веб-программированию Сокеты в PHP
Если я вас напрягаю или раздражаю, вы всегда можете забиться в угол и поплакать
|
![]() |
![]() |
![]() |
#5 |
Капсула от спама
Форумчанин
Регистрация: 04.03.2008
Сообщений: 779
|
![]()
Кстати так держать! Девушка и программист - обычно взаимоисключающие вещи
![]() ![]()
Если данный ответ не столь конкретен, как Вы желаете его увидеть, возможно необходимо поразмыслить, стоит ли вопрос того, чтобы о нём спрашивать на форуме?
CncFiles.ru - бесплатный файловый хостинг Последний раз редактировалось Dj_smart; 14.09.2010 в 23:09. |
![]() |
![]() |
![]() |
#6 |
Сама себе режиссер
Старожил
Регистрация: 27.04.2007
Сообщений: 3,365
|
![]()
Dj_smart, скиньте, пожалуйста... Буду очень благодарна.
А то у меня появилась глобальная проблема: при установке соединения флеш выдает ошибку 2048(SecurityErrorEvent). В статьях вычитала, что он хочет файл crossdomain.xml: Код:
Сказали, что при работе с сокетами нужно прослушивать два порта: первый - для самого кроссдомейна(порт 843), а второй(любой) - для передачи данных. Теперь я вообще запуталась. Получается. мне нужно создавать на флеше два сокета, и одним коннектиться к 843-му порту, а вторым - к порту данных? Или же один сокет и каждый раз при отправлении сообщения с сервера передавать и этот кроссдомейн? Еще я не совсем понимаю, зачем нужен этот файлик, если и флешка, и PHP -файл находятся в одном месте. И почему-то все примеры, которые я нахожу, идут без него. Значит, у людей все работает и так?
Если я вас напрягаю или раздражаю, вы всегда можете забиться в угол и поплакать
|
![]() |
![]() |
![]() |
#7 |
Капсула от спама
Форумчанин
Регистрация: 04.03.2008
Сообщений: 779
|
![]()
Собственно 6 файлов
style.css - стили page_top/page_bottom.php - шапка и дно "сайта" server.php - сам сервер config.php - настройки chat.php - "клиент", то есть пользователи открывают ее. приведу код сервера(в следующем посте) фух вроде все закомментировал... остальные файлы не требуют комментариев.
Если данный ответ не столь конкретен, как Вы желаете его увидеть, возможно необходимо поразмыслить, стоит ли вопрос того, чтобы о нём спрашивать на форуме?
CncFiles.ru - бесплатный файловый хостинг |
![]() |
![]() |
![]() |
#8 |
Капсула от спама
Форумчанин
Регистрация: 04.03.2008
Сообщений: 779
|
![]() PHP код:
Если данный ответ не столь конкретен, как Вы желаете его увидеть, возможно необходимо поразмыслить, стоит ли вопрос того, чтобы о нём спрашивать на форуме?
CncFiles.ru - бесплатный файловый хостинг |
![]() |
![]() |
![]() |
#9 |
Капсула от спама
Форумчанин
Регистрация: 04.03.2008
Сообщений: 779
|
![]()
Не влазит и все...
PHP код:
Если данный ответ не столь конкретен, как Вы желаете его увидеть, возможно необходимо поразмыслить, стоит ли вопрос того, чтобы о нём спрашивать на форуме?
CncFiles.ru - бесплатный файловый хостинг |
![]() |
![]() |
![]() |
#10 |
Сама себе режиссер
Старожил
Регистрация: 27.04.2007
Сообщений: 3,365
|
![]()
Dj_smart, спасибо за исходник) Посмотрела. А можно еще дамп базы данных для "поиграться вживую"?
C PHP вроде пока вопрос закрыт - сокет создается, цикл отрабатывает. Только вот клиентов он не дожидается. Наверное, тут проблема во флеше... Но это уже другая тема
Если я вас напрягаю или раздражаю, вы всегда можете забиться в угол и поплакать
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Статья: Низкоуровневое сетевое программирование. Пишем клиент/серверное приложение на сокетах Беркли | oleg kutkov | C/C++ Сетевое программирование | 42 | 22.01.2011 00:35 |
Сетевое программирование | Тунец | Помощь студентам | 4 | 09.07.2009 00:07 |
Сетевое программирование | Winnows-32 | Помощь студентам | 1 | 01.12.2008 07:16 |
Нужна помощь(сетевое программирование) | mager | Общие вопросы C/C++ | 6 | 14.02.2008 06:47 |