Форум программистов, компьютерный форум, киберфорум
PHP: сети
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.52/23: Рейтинг темы: голосов - 23, средняя оценка - 4.52
42 / 42 / 13
Регистрация: 21.08.2011
Сообщений: 625
1

Php сокеты

25.02.2013, 20:09. Показов 4351. Ответов 26
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте.

Столкнулся с таким вопросом, как php сокеты(php_sockets.dll). Думаю использовать эту финчу, для реализации обмена сообщениями, между пользователями. Вопрос. Можно ли подключить к "прослушивающему" серверу, сразу несколько клиентов так, чтобы не было между ними путаницы? То есть, например, к серверу подключено, скажем 10 человек, но чтобы Петя, получал сообщения только от своего друга Васи, а Вася от Пети. То есть, какая-то индентификаци, между пользователями.

Похожая ситуация, есть в приватном чате. Когда два человека, ведут диалог, а отправляемые ими сообщения, всплывают в чате у обоих одновременно.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.02.2013, 20:09
Ответы с готовыми решениями:

Php сокеты и unix-сокеты
Здравствуйте, есть программа, написанная на С под Linux. При её работе в памяти хранятся несколько...

PHP и сокеты
Будет страница с лотерейными карточками, для которых нужно постоянно обновлять данные( выигрыш,...

Сокеты на php
Добрый день. Возникла необходимость с ПО на делфи отправлять данные через сокеты на PHP. При...

PHP, MySQL и сокеты
Всем доброго времени суток. Есть скрипт на PHP, который работает на стороне сервера, создаёт сокет...

26
1178 / 1128 / 94
Регистрация: 31.05.2012
Сообщений: 3,060
27.02.2013, 01:00 21
Author24 — интернет-сервис помощи студентам
да
1
42 / 42 / 13
Регистрация: 21.08.2011
Сообщений: 625
27.02.2013, 01:48  [ТС] 22
Окей. Ну, теперь можно думаю и вздохнуть с облегчением.:-)
Благодарю за неоценимую помощь.:-)

Добавлено через 37 минут
Вздыхать с облегчением рано. При использовании функции sleep(), у меня засыпает весь php. В итоге после этого, я даже не могу просто на главную страницу своего сайта зайти. Приходится перезагружать денвер.:-) Как это можно обойти?

Добавлено через 7 минут
Дело в том, что у меня к файлу, где производится этот цикл, заинклуден другой php файл, в котором подключаюсь к БД. В итоге они оба засыпают. И я больше не могу войти на сайт, так как второй php файл с подключением к БД, подключен к каждой странице сайта.
0
1178 / 1128 / 94
Регистрация: 31.05.2012
Сообщений: 3,060
27.02.2013, 02:03 23
Не должно быть так. Оба файла должны работать не зависимо, так как запуск происходит нового экземпляра.
1
42 / 42 / 13
Регистрация: 21.08.2011
Сообщений: 625
09.03.2013, 14:34  [ТС] 24
Не должно быть так. Оба файла должны работать не зависимо, так как запуск происходит нового экземпляра.
С этой проблемой разобрался. Просто повесил в этот файл отдельное подключение к БД, а подключенный файл, убрал.

Остался один вопрос насчет long poll. В обработчике работает цикл и при каждом проходе, проверяет наличие новых данных. В итоге, если появилось новое сообщение, он оправляет его пользователю. Но что если пользователь, ушел с этой страницы, а наш цикл ведь продолжает работу... Как нам завершить работу цикла, если пользователь покинул страницу?
0
1178 / 1128 / 94
Регистрация: 31.05.2012
Сообщений: 3,060
09.03.2013, 16:18 25
Цитата Сообщение от stashappy Посмотреть сообщение
а наш цикл ведь продолжает работу...
Это как так. Пользователь ушел - скрипт завершил работу.
Можно указать принудительно не завершать работу скрипта, но по дефолту он завершит.
1
42 / 42 / 13
Регистрация: 21.08.2011
Сообщений: 625
09.03.2013, 17:09  [ТС] 26
Это как так. Пользователь ушел - скрипт завершил работу.
То есть, если мы перешли на другую страницу(пусть даже этого же сайта), скрипт на стороне сервера, завершит свою работу?..

У меня цикл, работает 30 секунд. В нем стоит дополнительная функция, которая автоматически помечает новые сообщения, как прочитанные(во время диалога с пользователем).

И иногда бывает такое, что новые сообщения, которые пользователь мне отправил после того, как я перешел на другую страницу, своего же сайта, какое-то время, автоматически помечаются прочтенными. По идее страницу я покинул, но скрипт как будто некоторое время подолжал работать и отмечать новые сообщения, как прочтенные. Поэтому я пришел к этому выводу..

Такое происходит только тогда, когдя я нахожусь в пределах своего сайта. Но стоит мне мне, конечно же выйти полностью или вообще закрыть браузер, скрипт, конечно же завершит свою работу.:-)
0
1178 / 1128 / 94
Регистрация: 31.05.2012
Сообщений: 3,060
09.03.2013, 18:48 27
вы же запрос делаете ajax'ом. вот пока хоть одно окно открыто, брезер подключен и скрпит работает, как только вы открывает другую страницу, соединение разрывается и подключается новое.
если у вас открыто два окна, то будет два соединения висеть к серверу.
1
09.03.2013, 18:48
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.03.2013, 18:48
Помогаю со студенческими работами здесь

Сокеты
Хотел спросит как с помощью сокетов можно выводить контент с одного сайта на другой, то есть...

Сокеты
Я стал изучать сокеты и произошла одна ошибка. Вот код клиента: <?php ...

Сокеты
Решил написать небольшую онлайн игру на java. Как мне сделать передачу данных между клиентом...

Сокеты и сессии
Подскажите пожалуйста как идентифицировать подключения по сокетам? Как использовать сессии и куки в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
27
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru