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

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

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

Author24 — интернет-сервис помощи студентам
Здравствуйте. Подскажите, пожалуйста, как правильно ответить на запрос, присланный через 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
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.10.2013, 13:10
Ответы с готовыми решениями:

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

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

Как ответить на запрос XSOLLA
Вот собственно сам запрос...

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

3
1178 / 1128 / 94
Регистрация: 31.05.2012
Сообщений: 3,060
11.10.2013, 13:51 2
http://www.php.net/manual/ru/sockets.examples.php
1
z-z
170 / 169 / 56
Регистрация: 22.06.2011
Сообщений: 980
11.10.2013, 14:00  [ТС] 3
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 4
Вы как запускаете?
Серверный файл в таком виде придётся запустить как демон, что бы он висел и слушал порт 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
11.10.2013, 14:14
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.10.2013, 14:14
Помогаю со студенческими работами здесь

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

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

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

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


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

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