Git Product home page Git Product logo

Comments (8)

morozovsk avatar morozovsk commented on August 19, 2024

Не совсем понимаю чем этот функционал отличается от примера:
https://github.com/morozovsk/websocket-examples/tree/master/chat2
демка: http://sharoid.ru/chat2.html

from websocket.

akudryav avatar akudryav commented on August 19, 2024

Спасибо, я брал за основу пример chat3 адаптированный для yii. посмотрю chat2

from websocket.

akudryav avatar akudryav commented on August 19, 2024

Если открыть несколько страниц чата одного юзера, то юзер в списке появится несколько раз. Как этого избежать? Имеется в виду не в вашем конкретном примере (там идет проверка на уникальность имени) а когда имя определяется исходя из залогиненого в yii пользователя. То есть хочется понять можно ли сделать "склейку" connectionId по ip адресу например?

from websocket.

morozovsk avatar morozovsk commented on August 19, 2024

конечно можно. как запрограммируете так и будет. я сделал склейку по имени, вы можете хоть по userId хоть по PHPSESSID

from websocket.

akudryav avatar akudryav commented on August 19, 2024

Но ведь в консольном режиме где работает чат сервер нет сессий, откуда брать PHPSESSID фронтенда? передавать в гет параметрах урла обращения к чат серверу? не очень секьюрно получается...

from websocket.

morozovsk avatar morozovsk commented on August 19, 2024

https://github.com/morozovsk/websocket-examples/blob/master/chat3/server/Chat3WebsocketDaemonHandler.php

from websocket.

borodatych avatar borodatych commented on August 19, 2024

Здравствуйте.
Позвольте подниму тему.
Тоже интересует этот вопрос, но еще точнее пинг конкретного пользователя.
Загвоздка стоит именно в реализации на PHP, на JS получается.
На JS я пока просто в userId пишу admin и ему отдаю список при подключение, когда здоровается.
На PHP пробовал разное, что то в этом духе:

/// Смиксовал Send и что сгуглилось
$socketUrl = 'tcp://127.0.0.1:8010';
$context = stream_context_create();
$instance = stream_socket_client($socketUrl, $errno, $errstr, 10, STREAM_CLIENT_CONNECT, $context);
if( !$instance ) echo "$errstr ($errno)<br />\n";
else
{
    $sent = fwrite( $instance, json_encode( ['message' => $message, 'userId' => $userId] )."\n");
    if( $sent > 0 )
    {
        $server_response = fread($instance, 4096);
        echo $server_response;
    }
}

Подключался и к локальному адресу и внешнему, тупо висит пока по таймауту не отпадет.
Подскажите пожалуйста.
Ваша реализация, поэтому сперва к вам.

Спасибо.

from websocket.

morozovsk avatar morozovsk commented on August 19, 2024

Мало исходных данных, дебажте, создавайте новый тикет, всё подробно описывайте.

from websocket.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.