Форум программистов, компьютерный форум, киберфорум
PHP: сети
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
z-z
170 / 169 / 56
Регистрация: 22.06.2011
Сообщений: 980

Правильно ответить на запрос websocket-a

11.10.2013, 13:10. Показов 1511. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте. Подскажите, пожалуйста, как правильно ответить на запрос, присланный через websocket?

Клиентская часть есть везде, это что то типа этого:

Кликните здесь для просмотра всего текста
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
//скопировал из javascript.ru
 
 
var socket = new WebSocket("ws://myhost.ru/server.php");  //пусть у меня тут лежит "сервер"
socket.onopen = function() { 
  alert("Соединение установлено."); 
};
 
socket.onclose = function(event) { 
  if (event.wasClean) {
    alert('Соединение закрыто чисто');
  } else {
    alert('Обрыв соединения'); // например, "убит" процесс сервера
  }
  alert('Код: ' + event.code + ' причина: ' + event.reason);
};
 
socket.onmessage = function(event) { 
  alert("Получены данные " + event.data);
};
 
socket.onerror = function(error) { 
  alert("Ошибка " + error.message); 
};


но какой код должен быть в файле server.php для простого ответа хотя бы?

на сервере тоже нужно сокет создавать через socket_create()? или как то по другому?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
11.10.2013, 13:10
Ответы с готовыми решениями:

Правильно ответить на вопросы
Задание 4. Верю – не верю. Внимательно прочитайте предложенные утверждения. Согласитесь с ними или опровергните их. Напишите «Да» или...

Как правильно ответить?
прохожу курс Google Analytics Academy и отвечаю на контрольные вопросы. Вопрос такой: Какие данные может отслеживать Google Analytics?...

Как ответить на запрос XSOLLA
Вот собственно сам запрос {"notification_type":"user_validation","user":{"id":"test_xsolla_1537192196"}} как на него ответить? хочу...

3
1178 / 1128 / 94
Регистрация: 31.05.2012
Сообщений: 3,060
11.10.2013, 13:51
http://www.php.net/manual/ru/sockets.examples.php
1
z-z
170 / 169 / 56
Регистрация: 22.06.2011
Сообщений: 980
11.10.2013, 14:00  [ТС]
DrobyshevAlex, спасибо. Я что то подобное пробовал, не работает)) может я порт и адрес не правильно пишу... не подскажете?

если на клиенте у меня это

JavaScript
1
var socket = new WebSocket("ws://myhost.ru:10000/server.php"); //не знаю, нужно ли обязательно порт указывать или нет
то в server.php должно быть это?
PHP
1
2
$address = 'myhost.ru'; // или myhost.ru/server.php или myhost.ru:10000/server.php?))
$port = 10000;
и какие еще конфигурации могут ломать все?
Мне говорили, что у меня на сервере возможно таймауты слишком маленькие... может это влияет? я не знаю, что еще придумать))
0
1178 / 1128 / 94
Регистрация: 31.05.2012
Сообщений: 3,060
11.10.2013, 14:14
Вы как запускаете?
Серверный файл в таком виде придётся запустить как демон, что бы он висел и слушал порт 10000.
Я не разу пхп для подключений по вэбсокету не использовал, не лучший вариант, я использую node.js.
Сервер должен поддерживать вэбсокеты, чего не делает нгинкс, и если мне не изменяет память апач тоже.
По этому Вы должны запустить из консоли свой скрипт: > php server.php
PHP
1
2
3
4
5
6
7
8
9
<?php
 
$address = '127.0.0.1';
$port = 10000;
 
if (($sock = socket_create(AF_INET, SOCK_STREAM, SOL_TCP)) === false) {
    echo "Не удалось выполнить socket_create(): причина: " . socket_strerror(socket_last_error()) . "\n";
}
...
и конектиться к нему
JavaScript
1
var socket = new WebSocket("ws://127.0.0.1:10000");
Поищите, возможно в пхп уже есть готовые бибилиотеки для создания websocket сервера, но я бы посоветовал лучше на tornado (python) или node.js делать сервер.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
11.10.2013, 14:14
Помогаю со студенческими работами здесь

POST запрос при открытом WebSocket'e
Можно ли делать POST запрос к серверу в то время, когда открыт WebSocket?

Написать программу, способную ответить на запрос
Задание 2: написать программу, способную ответить на запрос: суммарная стоимость всех товаров в данном отделе. Написать этот запрос....

Вероятность правильно ответить на большую часть в0пр0с0в билета
Уважаемые форумчане! Помогите, пожалуйста, с решением:) При тестировании студенту предлагается экзаменационный билет из 5 вопросов,...

Простейший веб сервер: получить запрос и ответить на него без использования страниц
И снова здравствуйте! Возникла острая необходимость в написании примитивного веб сервера. Задача стоит перед ним следующая: получить...

Websocket frame: Как правильно построить frame byte array?
Доброго дня. Пытаюсь написать свою имплементацию Websocket, но застрял на построении frame. Вот структура frame согласно спецификации...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если. . .
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru