Как я могу получить ответ Emit в Laravel - PullRequest
0 голосов
/ 25 января 2019

Я использую socket.io и node.js для сокетного соединения, я отправляю данные через API в сокет, используя код ниже laravel.

после всех процедур прекрасно работает в файле socket.js, который работает в терминале с узлом socket.js. Я просто хочу получить ответ на ту же функцию, где я публикую событие, возможно ли с этим или мне нужно сделать что-то еще.

Примечание: все идеально, просто нужен ответ в той же функции, где я публикую

Спасибо

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use Auth;
use App\Http\Requests;
use LRedis;
class MessageController extends Controller{
    public function store(Request $request){

            $data = [
                'id'=>1,
                'game_name'=>'PUB',

            ];
            $redis = LRedis::connection();
            $redis->publish('message', json_encode($data));
    }
}

////// node node.js

var app = require('express')();
var server = require('http').Server(app);
var io = require('socket.io')(server);
var redis = require('redis');
server.listen(3000, function () {
    console.log('Listening on Port 3000');
});


redisClient.subscribe('message');

redisClient.on("message", function (channel, data) {
    const dataj = JSON.parse(data);
    console.log(data);

    ///// send data to client which is connected with me 
    io.emit("eventsend", {
        "id": dataj.id,
        "game": dataj.game,

    });

});

io.on('connection', function (socket) {



    /////////////////////// send by client
    socket.on("eventrec", function (data) {

        console.log(data);

    });

    //console.log("Connected!");


    /////////////////////// send by client 

    socket.on("success_repo", function (data) {
        ////////// i want this response in my laravel file where i publish the message event 
        console.log(data);
    });

    socket.on('disconnect', function () {

        redisClient.unsubscribe('message');


    });

});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...