[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Сокеты
Страницы: 1, 2, 3, 4
N0ob
T1grOK в том то и дело, я хочу прекратить прослушку порта. Удалить этот сокет. ПОЛНОСТЬЮ
T1grOK
Ну под виндой через процессы грохнуть, под линем черем ps aux узнать номер демона и kill!

_____________
Mysql, Postgresql, Redis, Memcached, Unit Testing, CI, Kohana, Yii, Phalcon, Zend Framework, Joomla, Open Cart, Ymaps, VK Api
N0ob
Спустя столетия пришел к такому выводу. Сам сервер можно написать и на php, и организовать его обычным способом, как я описал в первом посте. Клиент же можно сделать как и на обычном JS, используя готовый API, либо через AJAX запросы но уже реализация клиента идет через PHP. По мне как, гораздо удобнее все это делать на готовом API от JS нежели через AJAX делая совершенно не нежные запросы на сервер создавая своеобразную и нехилую нагрузку. Правильно ли я мыслю?

Так же вопрос немного из реализации.

var socket = new WebSocket("ws://javascript.ru/ws");


пример кода с офф. сайта. не совсем понятен параметр, передаваемый в функцию. ws - это понятно, говорит что это совет. Далее я почему то не вижу тут номера порта. javascript.ru/ws вообще ересть какая то. Мне не понятна реализация всей этой лабуды. Зачем здесь добавили /ws в конце УРЛа?
killer8080
Цитата (N0ob @ 25.04.2016 - 18:14)
Клиент же можно сделать как и на обычном JS, используя готовый API, либо через AJAX запросы но уже реализация клиента идет через PHP.

ты сам то понял что написал? Что за клиент на PHP? И причем тут аякс вообще, если речь идёт о вебсокетах?

Цитата (N0ob @ 25.04.2016 - 18:14)
Далее я почему то не вижу тут номера порта.

потому что соединение идёт на 80-й порт.
Цитата (N0ob @ 25.04.2016 - 18:14)
javascript.ru/ws вообще ересть какая то. Мне не понятна реализация всей этой лабуды. Зачем здесь добавили /ws в конце УРЛа?

захотели и добавили, это всего лишь навсего УРЛ. Возможно в том примере конект идёт не напрямую, а через реверс-прокси, а УРЛ прописан в правилах проксирования, чтоб отличать от обычных http запросов.
80-й порт может использоваться для обхода фаерволов, запрещающих соединение на другие порты например.
N0ob
Цитата
ты сам то понял что написал? Что за клиент на PHP? И причем тут аякс вообще, если речь идёт о вебсокетах?

Я всего лишь банальный нуб в этой области. Я всего лишь сказал, что понял. Получается, понял не правильно. Например, вот код клиента с офф. сайта PHP:
<?php
error_reporting(E_ALL);

echo "<h2>Соединение TCP/IP</h2>\n";

/* Получаем порт сервиса WWW. */
$service_port = getservbyname('www', 'tcp');

/* Получаем IP адрес целевого хоста. */
$address = gethostbyname('www.example.com');

/* Создаём TCP/IP сокет. */
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
if ($socket === false) {
echo "Не удалось выполнить socket_create(): причина: " . socket_strerror(socket_last_error()) . "\n";
} else {
echo "OK.\n";
}

echo "Пытаемся соединиться с '$address' на порту '$service_port'...";
$result = socket_connect($socket, $address, $service_port);
if ($result === false) {
echo "Не удалось выполнить socket_connect().\nПричина: ($result) " . socket_strerror(socket_last_error($socket)) . "\n";
} else {
echo "OK.\n";
}

$in = "HEAD / HTTP/1.1\r\n";
$in .= "Host: www.example.com\r\n";
$in .= "Connection: Close\r\n\r\n";
$out = '';

echo "Отправляем HTTP HEAD запрос...";
socket_write($socket, $in, strlen($in));
echo "OK.\n";

echo "Читаем ответ:\n\n";
while ($out = socket_read($socket, 2048)) {
echo $out;
}

echo "Закрываем сокет...";
socket_close($socket);
echo "OK.\n\n";
?>


Ведь сокеты должны приниматься как то динамически. Ведь так? Тут просто идет создание сокета и чтение сервера. Если можно, поясните мне как работает конкретно ЭТОТ клиент.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.