
Sergey
06.12.2017
10:18:30
ну я про бродкаст ивентов в очередь

Яўген
06.12.2017
10:19:16
добавление ивентов в очередь есть. Нету рэбита

Sergey
06.12.2017
10:19:23

Google

Яўген
06.12.2017
10:19:34
в твоём примере не pub/sub
просто добавление в очередь обычную

Sergey
06.12.2017
10:20:03

Яўген
06.12.2017
10:20:09
мой же пакет максимально приближен к стандартным Events

Sergey
06.12.2017
10:20:14
речь шла про pub/sub БЕЗ кролика если что

Яўген
06.12.2017
10:20:36
человек хотел с рэбитом поработать
:)

Sergey
06.12.2017
10:20:52
ему дали центрифугу
ей не нужен кролик
да и потом - не факт что у него ларавель
это мы не уточняли

Яўген
06.12.2017
10:22:16
человек, если проект новый, то вот это есть https://laravel.com/docs/5.5/broadcasting

Google

Sergey
06.12.2017
10:25:45
и прекрати думать что все вокруг пишут на ларавель
и хотят играть в vendor lock

Яўген
06.12.2017
10:26:59
ммм.. почему ты мне это запрещаешь?

Sergey
06.12.2017
10:27:49
потому что могу)

Борис
06.12.2017
10:28:12

Sergey
06.12.2017
10:28:14
и потому что не люблю когда люди лезут со советами что юзать не уточнив деталей
(хотя сам так порой делаю))

Яўген
06.12.2017
10:29:32
пожалуй, оставлю за собой право делать как хочу

Sergey
06.12.2017
10:31:04
свои проекты делай как хочешь, а перед тем как советовать что-либо другим разберись что им нужно а не просто кидай по ключевым словам свои пакеты рекламируй
"как выкинуть rabbitmq из этой схемы" - "на вот пакет для rabbitmq". Вот так это выглядело если ты не понимаешь притензии)

Яўген
06.12.2017
10:32:20

Sergey
06.12.2017
10:32:51
кролик был шиной данных и с ним у него проблоем вроде небыло
во всяком случае в том "как писать туда"

Roman
06.12.2017
10:53:50
$sock = socket_create(AF_INET, SOCK_DGRAM, SOL_UDP);
$msg = "Ping !";
$len = strlen($msg);
socket_sendto($sock, $msg, $len, 0, 'echo.websocket.org', 80);
socket_close($sock);
чтото не приходит сообщение (

Sergey
06.12.2017
10:58:58
SOCK_DGRAM
UDP
почему ты решил через UDP?

Google

Sergey
06.12.2017
10:59:23
и почему на echo.websocket.org?
чем UDP от TCP отличается и умеет ли вэбсокеты через UDP гоняться?)
подсказка - что бы иметь вэбсокеты нужен хэндшейк а это значит нужно соединение

Roman
06.12.2017
11:00:12
пример попался в нете
$ws_worker = new AsyncTcpConnection("ws://echo.websocket.org:80"); потомушто сервер так запустил

Sergey
06.12.2017
11:01:02
так вэбсокеты причем тут? ты решил простенький tcp сервер написать (тогда почему udp сокет юзаешь)? или потестить свой websocket сервер?

Roman
06.12.2017
11:01:04
я уже все пробивал
запутался совсем*
свой запустил, потестить не могу, незнаю как к нему законектится

Sergey
06.12.2017
11:02:02
есть UDP - это просто "послать датаграмму и забить", работает без соединений. Есть TCP - работает с установлением соединения и гарантией доставки. Есть web sockets, который работает поверх tcp и требует еще своих хэндшейков

Roman
06.12.2017
11:03:05
есть на js тож работает

Roman
06.12.2017
11:03:16
ws = new WebSocket("ws://echo.websocket.org:80");

Sergey
06.12.2017
11:03:56
выводи на сервере в логи по onConnect
как минимум
что бы понять что кто-то законнектился

Roman
06.12.2017
11:04:52
конект проходит
<body>
<input class="input-message" />
<button class="btn-send" type="button">Send</button>
<div id="msg"></div>
</body>
<script>
ws = new WebSocket("ws://echo.websocket.org:80");
ws.onopen = function () {
console.log("Connection opened...");
};
ws.onclose = function () {
console.log("Connection closed...")
};
ws.onmessage = function (evt) {
$("#msg").append("<p>" + evt.data + "</p>");
};
$(".btn-send").click(function() {
var msg = $('.input-message').val();
ws.send(msg);
});
</script>

Sergey
06.12.2017
11:05:42

Google

Sergey
06.12.2017
11:05:51
сообщение не отправляется?

Roman
06.12.2017
11:05:56
не работает в нескольких браузерах
сообщению идут - только в той браузер где я открою
чтото я тулю
new WebSocket('тут нужно ж указать сервер мой')

Sergey
06.12.2017
11:07:36
у тебя из каждого браузера свой коннекшен
ты пишешь не во все коннекшены а в конкретный

Admin
ERROR: S client not available

Roman
06.12.2017
11:07:59
хотел паралельно)

Sergey
06.12.2017
11:08:12
паралельно - то есть "бродкаст по tcp" - это невозможно
тебе надо на сервере делать что-то типа
function broadcast($msg) {
foreach ($connections as $connection) { $connection->send($msg) }
}
по другому оно не работает
бродкасты честные это только UDP и только со своим клиентом. Но это намного более сложно

Roman
06.12.2017
11:10:30
а как с php послать сообщение в сокет socket_sendto ?
какой ip указать для отправки и порт
socket_sendto($sh, $buf, $len, 0x100, 'http://test.app/ws_client.php', 80)

Sergey
06.12.2017
11:12:34
у тебя должен быть коннекшен

Google

Sergey
06.12.2017
11:12:48
TCP сокет=коннекшен
и пишешь ты в него
если тебе надо указывать IP кому слать - это UDP

Roman
06.12.2017
11:13:14
устал я )))

Sergey
06.12.2017
11:13:25
почитай про tcp/ip протоколы если интересно
модель OSI и все такое
или возьми центрифугу и не мороч голову ни себе ни нам

Roman
06.12.2017
11:13:55
наверно так и сделаю

Яўген
06.12.2017
11:25:31
Вот взял и навязал человеку пакет какой-то )

Sergey
06.12.2017
11:26:36
Вот взял и навязал человеку пакет какой-то )
это готовое решение которое решит его проблемы, которое прекрасно вписывается в схему работы его чатов, и которое не привязано ни к языку ни к фреймворку. Я могу конечно потратить час и объяснить ему как работает сферический web socket сервер (ему ж хочется свой написать) но у меня нет времени

Anton
06.12.2017
11:41:37
Мб тогда стоит начать с прочтения RFC ?
чтобы понять что такое web-sockets

Sergey
06.12.2017
11:42:35
не думаю что это поможет.
ему ж не протокол имплементить
ему работать с ним


Борис
06.12.2017
11:46:54
это готовое решение которое решит его проблемы, которое прекрасно вписывается в схему работы его чатов, и которое не привязано ни к языку ни к фреймворку. Я могу конечно потратить час и объяснить ему как работает сферический web socket сервер (ему ж хочется свой написать) но у меня нет времени
Я вот бы не сказал, что у тебя НЕТ времени :D столько ты тут уже понаписал чуваку, который даже теорию не прочел (ну или мне так кажется, что он не прочел).
Roman Dykyi прежде чем что-то новое пробовать (а для тебя сокеты это новое) прочти базовую теорию. Ты конечно можешь продолжать сыпать в этот чат кучу вопросов, но, кроме толерантного Сереги, тебе тут не помогут (может уже и Серега перестанет помогать)
Вот тебе совет, прежде чем писать свое, попробуй написать свое по чужому мануалу. гугли: что такое сокеты(обычные unix сокеты), что такое вебсокеты, примеры вебсокет пхп, попробуй все это заимплементить по примерам, и только потом начинай "свое"


Oscar
06.12.2017
11:57:26
Я вот бы не сказал, что у тебя НЕТ времени :D столько ты тут уже понаписал чуваку, который даже теорию не прочел (ну или мне так кажется, что он не прочел).
Roman Dykyi прежде чем что-то новое пробовать (а для тебя сокеты это новое) прочти базовую теорию. Ты конечно можешь продолжать сыпать в этот чат кучу вопросов, но, кроме толерантного Сереги, тебе тут не помогут (может уже и Серега перестанет помогать)
Вот тебе совет, прежде чем писать свое, попробуй написать свое по чужому мануалу. гугли: что такое сокеты(обычные unix сокеты), что такое вебсокеты, примеры вебсокет пхп, попробуй все это заимплементить по примерам, и только потом начинай "свое"
У меня на первой работе старший разраб был очень похож манерой общения на тебя, до сих пор рад, что именно к такому челу попал.

Anton
06.12.2017
11:59:56
Все, Борис, иди в лиды. Тебе уже рандомные люди дают знаки.

Борис
06.12.2017
12:00:39

Oscar
06.12.2017
12:04:03
Воу, приятно слышать :)
Антон.... да.. уже пора?
Не, ну и правда.
Вот напишут за меня код или что-либо ещё, что я усвою из этого? Что можно использовать других людей вместо гугла, куда важнее научить получать информацию и использовать её, а это без титановой выдержки не достичь (а на первой работе из базы у меня была только теория, да и так себе понимание ооп, так что да, теопения там явно требовалось много)

Maksim
06.12.2017
12:14:44
"да и так себе понимание ооп"
нельзя тут такое произносить :)