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

flush сокета в php

19.07.2012, 15:28. Показов 1264. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США. Нашел на реддите интересную статью под названием «Кто-нибудь знает, где получить бесплатный компьютер или. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru