Форум программистов, компьютерный форум, киберфорум
PHP: сети
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
Эксперт Java
 Аватар для KEKCoGEN
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672

flush сокета в php

19.07.2012, 15:28. Показов 1276. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть сервер на php и клиенты. когда подключается клиент, на сервере запускается ф-ция handshake которая проделывает некую инициалию. Как часть этой инициализации я хочу послать с сервера некое сообщение всем клиентам. Делаю это так

PHP
1
2
3
4
5
public function sendMessage($msg) {
            foreach ($this->players as $client) {
                socket_write($client->socket, $msg);
            }
        }
Проблема в том что сообщение заноситься в буфер но не отсылается. Оно приходит только после, когда я из чата какого либо клиента пишу сообщение. Тогда всем клиентом приходит изначальное сообщение и это тоже. То есть в буфер сообщение записывается, но не отсылается. Как вызвать в php некий flush сокета или может установить какую то опцию чтобы отправлялось сразу? Спасибо.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
19.07.2012, 15:28
Ответы с готовыми решениями:

Пример сокета(клиент-сервер(php-php)).
Приведите пожалуйста простой пример, что-бы я понял примерно как передаются данные по сокетам.Гугл - не помог(были примеры, но не...

PHP - как открыть/прочитать файл из сокета через прокси сервер
не знаю правильно ли я выразился..., я имел ввиду как прочитать в переменную какой-либо файл с какого-нибудь сервера через прокси-сервер.

Копирование сокета или передача сокета в функцию
Добрый день всем, столкнулся с тем что не могу скопировать сокет. boost::asio::ip::tcp::socket socket(io_service); ...

5
1178 / 1128 / 94
Регистрация: 31.05.2012
Сообщений: 3,060
20.07.2012, 02:25
А вы уверенны что проблема именно в буфере и именно в буфере пхп?
Попробуйте отсылать в конце PHP_EOL или 0-байт.
А вообще ещё желательно проверять сколько данных отправлено, так как нет не какой гарантии что за 1 раз вся строка из $msg будет передана, для этого функция и возвращает количество переданных байт.
0
Эксперт Java
 Аватар для KEKCoGEN
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
20.07.2012, 05:17  [ТС]
Насчет того где проблема не уверен, но на стороне клиента просто ничего не происходит, поэтому я делаю вывод что сообщение не доходит. Строки посылаю короткие...не больше 10 символов так что должно за раз переходить вроде...
0
1178 / 1128 / 94
Регистрация: 31.05.2012
Сообщений: 3,060
20.07.2012, 16:54
Да не важно сколько символов, бывает даже 1 символ не уходит.
0
91 / 91 / 13
Регистрация: 14.07.2012
Сообщений: 539
21.07.2012, 20:40
KEKCoGEN, без кода тяжело говорить но некоторые функции ПХП не работают в собственых функция. Точно не могу сказать поищите в ПС описание.
0
Эксперт Java
 Аватар для KEKCoGEN
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
22.07.2012, 00:52  [ТС]
Спасибо, проблему решил редизайном сервера)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
22.07.2012, 00:52
Помогаю со студенческими работами здесь

Flush в js
Привет читателям! Помогите решить "задачку": 1 нажимаем кнопку 2 на странице выводится картинка(анимация) 3 формируется результат ...

Функция flush() на C/C++
Уважаемые эксперты, обясните пожалуйста функцию flush() на C/C++... Буду очень благодарен...

ob_flush() flush()
Мне понадобилось выводить echo во время выполнения скрипта. Использовал такой код: <? ob_start(); for($i=0;$i<4;$i++) { echo...

PrintWriter.flush();
Использую PrintWriter pw = new PrintWriter(System.out, true); вывожу при помощи pw.write(); и приpw.flush(); В чем может...

Flush priveleges
CRETE USER `name` IDENTIFIED BY `pass` пользователь родился, но не может содать базу. Access denied for THIS user... как...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru