Yayın mesajı için Redis + laravel + nodejs kullanıyorum.laravel ile Redis ve Nodejs kullanarak mesaj nasıl yayınlanır
function postReassignlead(Request $request){
$data = Input::get();
$leadId = $data['leadid'];
$assignedtoid = $data['assignedtoid'];
$assignedbyid = $data['assignedbyid'];
$message = "A lead :".$leadId," has been assigned to YOU by ".$assignedbyid."";
$redis = LRedis::connection();
$redis->publish('message', $message);
}
ve benim server.js home.php sayfasındaki sonra
var app = require('express')();
var server = require('http').Server(app);
var io = require('socket.io')(server);
var redis = require('redis');
server.listen(8890);
io.on('connection', function (socket) {
console.log("new client connected");
var redisClient = redis.createClient();
redisClient.subscribe('message');
redisClient.on("message", function(channel, message) {
console.log("mew message in queue "+ message + "channel");
socket.emit(channel, message);
//res.flush();
});
socket.on('disconnect', function() {
redisClient.quit();
});
});
yılında kontrolörü olarak mesaj yayınlanacak olan İşte
<script src="//code.jquery.com/jquery-migrate-1.2.1.min.js"></script>
<script src="https://cdn.socket.io/socket.io-1.3.4.js"></script>
<div class="container">
<div class="row">
<div class="col-lg-8 col-lg-offset-2">
<div id="messages"></div>
</div>
</div>
</div>
<script>
var socket = io.connect('http://localhost:8890');
socket.on('message', function (data) {
$("#messages").append("<p>"+data+"</p>");
});
</script>
izleyin olarak benim Kod olduğu Sisteme giriş yapan bütün kullanıcılara, Ama bunu sadece bir kullanıcıya değiştirmek istiyorum
Ben belirli bir kullanıcı kimliğine geniş canşey
benim home.php kadar
$redis = LRedis::connection();
$redis->publish('message_1990', $message);
gibi
bazı Doing bu
<script>
var socket = io.connect('http://localhost:8890');
socket.on('message_1990', function (data) {
$("#message_1990").append("<p>"+data+"</p>");
});
</script>
hehe cevap için ben Json verileri yerine benzer bir yaklaşım uyguladı Ben tek bir dize ile _ _ ile ayrılmış ve ön uçta sadece JS dizisi içine yarık gönderdi ve 'ID' kontrol mesaj, Auth :: user-> ID' ile aynıdır. Sonra mesaj, pop-up'ına eklenir :). Ama burada her kullanıcı mesaj soketini dinliyor, her kullanıcının kendi soketini dinlemesinin bir yolu var, öyle ki yayınladığımız zaman sadece o kullanıcı için değil mi? – Vikram